Перейти к содержанию

🔄 Integration-Only Architecture: Отказ от прямой работы с криптовалютами

Дата принятия решения: 2025-11-13 Статус: ПРИНЯТО И ВНЕДРЯЕТСЯ Приоритет: КРИТИЧЕСКИЙ


📋 АРХИТЕКТУРНОЕ РЕШЕНИЕ

✅ ПРИНЯТЫЕ ПРИНЦИПЫ

🚫 Полный отказ от криптовалютной логики: - ❌ Никаких wallet операций на платформе Saga - ❌ Никакого HD Wallet, BIP44, приватных ключей - ❌ Никакого мониторинга блокчейна нашими силами - ❌ Никаких smart contracts для управления активами - ❌ Никакого собственного custody

✅ Только интеграции + отслеживание: - ✅ Crypto2B — все депозиты и выводы криптовалют - ✅ Fordefi — профессиональное управление активами - ✅ Операторы — ручные решения по размещению средств - ✅ Saga — только tracking, reporting, user interface


🏗️ НОВАЯ АРХИТЕКТУРА

Упрощенная система ответственности

graph TB
    subgraph "Пользователи"
        USER[👤 Пользователь - Web/Email регистрация]
        OP[👨‍💼 Оператор - Управляет размещением]
    end

    subgraph "Saga Platform (Только Tracking)"
        PWA[📱 PWA Interface - Dashboard + Reports]
        API[🚀 Saga API - Business Logic Only]
        DB[(🗄️ PostgreSQL - Tracking + Analytics)]
        ADMIN[🔧 Admin Panel - Operations Dashboard]
    end

    subgraph "Криптовалютные операции (Внешние)"
        C2B[💳 Crypto2B - Депозиты + Выводы]
        FORD[💼 Fordefi - Управление активами]
        DEFI[🏦 DeFi Protocols - Yield Generation]
    end

    %% User interactions
    USER --> PWA
    PWA --> API
    API --> DB

    %% Operator workflow
    OP --> ADMIN
    OP --> FORD
    ADMIN --> API

    %% External integrations
    API --> C2B
    C2B -.->|webhooks| API

    FORD --> DEFI
    OP -.->|manual decisions| FORD

    %% Styling
    style USER fill:#e3f2fd
    style OP fill:#fff3e0
    style PWA fill:#e8f5e8
    style API fill:#f3e5f5
    style C2B fill:#ffebee
    style FORD fill:#fff8e1

Разделение ответственности

Компонент Ответственность НЕ отвечает за
Saga Platform UI, business logic, tracking, reporting ❌ Криптовалютные операции
Crypto2B Депозиты, выводы, blockchain мониторинг ❌ Управление активами
Fordefi Custody, размещение в DeFi, yield optimization ❌ User interface
Операторы Стратегические решения по размещению ❌ Техническое исполнение

💰 УПРОЩЕННЫЙ USER FLOW

Депозит (Integration-Only)

sequenceDiagram
    participant U as 👤 Пользователь
    participant S as 🚀 Saga API
    participant C2B as 💳 Crypto2B
    participant OP as 👨‍💼 Оператор
    participant F as 💼 Fordefi

    U->>S: Запрос на депозит 1000 USD
    S->>C2B: Генерация депозитного адреса
    C2B-->>S: TRC20 адрес для USDT
    S-->>U: Адрес для перевода

    U->>C2B: Перевод 1000 USD USDT
    C2B->>C2B: Мониторинг blockchain
    C2B->>S: Webhook: депозит получен

    S->>S: Обновление user balance
    S->>S: Автосоздание инвестиции
    S-->>U: Уведомление: инвестиция создана

    Note over OP,F: Оператор периодически собирает средства
    OP->>F: Ручной перевод активов для yield
    F->>F: Размещение в DeFi протоколы

Вывод (Integration-Only)

sequenceDiagram
    participant U as 👤 Пользователь
    participant S as 🚀 Saga API
    participant OP as 👨‍💼 Оператор
    participant F as 💼 Fordefi
    participant C2B as 💳 Crypto2B

    U->>S: Запрос вывода 500 USD на адрес
    S->>S: Проверка баланса + возможность
    S->>S: Создание withdrawal request

    S-->>OP: Уведомление о запросе вывода
    OP->>F: Ручная подготовка средств
    F->>F: Освобождение из DeFi

    OP->>C2B: Инициация вывода 500 USD
    C2B->>C2B: Отправка USDT на адрес
    C2B->>S: Webhook: вывод выполнен

    S->>S: Обновление user balance
    S-->>U: Email: вывод завершен

🗂️ ИЗМЕНЕНИЯ В CODEBASE

❌ КОД ДЛЯ УДАЛЕНИЯ

Backend services (больше не нужны):

backend/services/
├── hd_wallet/          # ❌ УДАЛИТЬ
├── wallet_generation/  # ❌ УДАЛИТЬ
├── blockchain_monitor/ # ❌ УДАЛИТЬ
├── transaction_scan/   # ❌ УДАЛИТЬ
└── smart_contracts/    # ❌ УДАЛИТЬ (custody части)

Database tables (больше не актуальны):

-- ❌ УДАЛИТЬ ИЛИ АРХИВИРОВАТЬ
DROP TABLE IF EXISTS wallets;           -- HD wallet addresses
DROP TABLE IF EXISTS wallet_addresses; -- Generated addresses
DROP TABLE IF EXISTS blockchain_scans;  -- Monitoring results
-- Оставить только для исторических записей, если есть данные

Frontend components (упростить):

frontend/src/components/
├── WalletConnect/      # ❌ УДАЛИТЬ
├── WalletGeneration/   # ❌ УДАЛИТЬ
├── StrategySelector/   # ❌ УДАЛИТЬ (MVP = single strategy)
└── ComplexDashboard/   # ❌ УПРОСТИТЬ до minimum

✅ КОД ДЛЯ СОХРАНЕНИЯ/РАЗРАБОТКИ

Backend services (развивать):

backend/services/
├── crypto2b/           # ✅ РАЗВИВАТЬ (ADR готов)
├── user_management/    # ✅ СОХРАНИТЬ
├── investment_tracker/ # ✅ РАЗВИВАТЬ
├── reporting/          # ✅ РАЗВИВАТЬ
└── notification/       # ✅ СОХРАНИТЬ

Database tables (core tracking):

-- ✅ РАЗВИВАТЬ
users                   -- email NOT NULL обязательно
investments             -- упростить до single strategy
transactions            -- только для tracking
crypto2b_transactions   -- новая таблица для интеграции


📊 ОБНОВЛЕННАЯ DATABASE SCHEMA

Упрощенная схема для Integration-Only

-- ОБНОВИТЬ users table
ALTER TABLE users
  ALTER COLUMN email SET NOT NULL,  -- ✅ Email mandatory
  DROP COLUMN wallet_address,       -- ❌ No wallet management
  DROP COLUMN private_key_encrypted; -- ❌ No private keys

-- УПРОСТИТЬ investments table
ALTER TABLE investments
  DROP COLUMN strategy_id,          -- ❌ Single strategy only
  DROP COLUMN auto_invest_strategy, -- ❌ No choice, always auto
  ADD COLUMN fixed_apy DECIMAL(5,2) DEFAULT 10.00; -- ✅ Fixed APY

-- ДОБАВИТЬ crypto2b tracking
CREATE TABLE crypto2b_transactions (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID NOT NULL REFERENCES users(id),
  saga_transaction_id UUID REFERENCES transactions(id),

  crypto2b_id VARCHAR(255) UNIQUE,  -- External ID from Crypto2B
  operation_type VARCHAR(20) NOT NULL, -- 'deposit' | 'withdrawal'
  status VARCHAR(50) NOT NULL,      -- 'pending' | 'confirmed' | 'failed'

  amount DECIMAL(36,18) NOT NULL,
  currency VARCHAR(10) NOT NULL,
  network VARCHAR(50),

  external_data JSONB,              -- Full API response
  created_at TIMESTAMPTZ DEFAULT NOW(),
  updated_at TIMESTAMPTZ DEFAULT NOW()
);

-- УДАЛИТЬ устаревшие таблицы
DROP TABLE IF EXISTS wallets CASCADE;
DROP TABLE IF EXISTS wallet_addresses CASCADE;
DROP TABLE IF EXISTS blockchain_scans CASCADE;

🚀 ПЛАН РЕАЛИЗАЦИИ

Phase 1: Cleanup (1-2 дня)

1. УДАЛИТЬ устаревший код:
   - HD Wallet сервисы
   - Blockchain monitoring
   - Wallet generation endpoints
   - Strategy selection UI

2. УПРОСТИТЬ database schema:
   - Email NOT NULL обязательно
   - Single strategy для investments
   - Добавить crypto2b_transactions table

3. ОБНОВИТЬ документацию:
   - Все ADR согласно Integration-Only
   - API endpoints (убрать wallet endpoints)
   - Frontend architecture (убрать wallet components)

Phase 2: Crypto2B Integration (2-3 недели)

1. РЕАЛИЗОВАТЬ Crypto2B API:
   - Deposits handling (webhooks)
   - Withdrawals processing
   - Transaction tracking
   - Error handling + retry logic

2. ОБНОВИТЬ frontend:
   - Простейший депозитный flow
   - Single strategy dashboard
   - Minimal withdrawal interface

3. ИНТЕГРАЦИЯ с операторами:
   - Admin notifications
   - Manual Fordefi workflow
   - Tracking + reporting

Phase 3: Testing & Launch (1 неделя)

1. ТЕСТИРОВАНИЕ integration-only flow
2. ВАЛИДАЦИЯ с реальными Crypto2B операциями
3. ПОДГОТОВКА к production deploy

Total timeline: 4-6 недель вместо исходных 11-16 недель (значительное упрощение!)


✅ ПРЕИМУЩЕСТВА INTEGRATION-ONLY

🎯 Бизнес преимущества

  • Быстрее на рынок — нет сложной криптовалютной разработки
  • Меньше рисков — безопасность на стороне интеграций
  • Меньше compliance — лицензии у провайдеров
  • Фокус на UX — вместо blockchain инфраструктуры

🔧 Технические преимущества

  • Простая архитектура — только business logic
  • Быстрая разработка — нет blockchain expertise требований
  • Надежность — проверенные провайдеры
  • Масштабирование — готовая инфраструктура криптовалют

⚡ Операционные преимущества

  • Меньше инфраструктуры — не нужны blockchain ноды
  • Простая поддержка — нет собственных кошельков
  • Быстрые интеграции — API ready (Crypto2B ключи есть)
  • Профессиональное управление — Fordefi custody

🚨 РИСКИ И МИТИГАЦИЯ

Потенциальные риски

Риск Вероятность Митигация
Зависимость от Crypto2B Средняя Контракт SLA + backup provider
Ограничения интеграций Низкая Выбраны проверенные провайдеры
Потеря контроля над активами Низкая Fordefi — институциональный custody
Увеличение комиссий Средняя Заложено в бизнес-модель

📋 ЗАКЛЮЧЕНИЕ

Integration-Only архитектура кардинально упрощает разработку и ускоряет выход на рынок.

Готовность к реализации: ВЫСОКАЯ (Crypto2B ADR + API ключи готовы) ✅ Снижение complexity: 70%+ упрощение кодовой базы ✅ Time to market: 4-6 недель вместо 11-16 недель ✅ Business focus: UX и product вместо blockchain infrastructure

Следующие шаги: Cleanup устаревшего кода + полная реализация Crypto2B интеграции


Статус: ARCHITECTURAL DECISION ПРИНЯТ ✅ Реализация: НАЧИНАЕМ НЕМЕДЛЕННО 🚀