🔄 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 ПРИНЯТ ✅ Реализация: НАЧИНАЕМ НЕМЕДЛЕННО 🚀