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

Univex — Обзор проекта

Что такое Univex

Univex — криптовалютная биржа для торговли цифровыми активами в режиме реального времени. Платформа поддерживает несколько блокчейн-сетей, включает встроенные механизмы AML/KYC-проверки и предоставляет как публичный REST API для клиентских приложений, так и административный интерфейс для операторов биржи.

Система разработана как набор независимых микросервисов с чётким разделением ответственности: торговое ядро изолировано от бизнес-логики, а все внешние интеграции (блокчейны, compliance-провайдеры, уведомления) вынесены в специализированные сервисы.


Архитектура верхнего уровня

Проект состоит из двух репозиториев, которые работают совместно:

Exchange Engine

  • Язык: Go 1.25
  • Назначение: торговое ядро биржи — матчинг ордеров, стакан заявок (orderbook), управление балансами на уровне блокчейна, интеграции с сетями BTC, ETH и TRON.
  • Интерфейсы: HTTP REST API (Echo) для публичных торговых операций, gRPC Admin API для управления платформой.
  • Сервисы: engine, api, admin, hotmanager (btc/evm/tron), topupscan (btc/evm/tron + processor + aml-poller + elliptic_check + refund-processor), txprocessor (btc/evm/tron), migrator.

Univex Monorepo

  • Язык: Go 1.23.2
  • Назначение: 10 микросервисов, реализующих бизнес-логику платформы: идентификация пользователей, p2p-торговля, учёт и хранение балансов, KYC, уведомления и интеграции.

Микросервисы монорепозитория

Сервис Протокол Назначение
gateway HTTP (Fiber v2) Шлюз для основного фронтенда. Маршруты: авторизация, торговля, депозиты, p2p, фиат, переводы, уведомления, адресная книга, фандированные коды, API-ключи
admin-gateway HTTP (Fiber v2 + Casbin RBAC) Шлюз для административной панели. Маршруты: аккаунты, блокчейн, горячие кошельки, транзитные кошельки, AML, активы, тикеры, тиры, операции, p2p-споры, фиат, категории риска, управление администраторами
univex-id gRPC (95+ RPC) Основной identity-сервис: авторизация, сессии, 2FA (Google/TOTP), управление аккаунтами, KYC, блокировки, ограничения, профили администраторов, роли, уведомления, заметки о пользователях.
ledger gRPC (26 RPC) Учёт и хранение балансов: операции с балансами, фиатные операции, переводы, замороженные активы, фандированные коды, выводы средств. Контроль целостности данных через хеширование операций.
p2p gRPC (43 RPC) Peer-to-peer торговля: объявления, ордера со state machine, споры, мессенджер, платёжные методы, отзывы, чёрный список.
exchange-integration gRPC (60 RPC) Прокси к Exchange Admin gRPC: авторизация, аккаунты, балансы, API-ключи, горячие кошельки, транзитные кошельки, блокчейн-операции, AML, активы, тикеры, категории риска
trades-aggregator gRPC (2 RPC, streaming) Агрегация торговых данных: информация по тикерам, изменения за 24 часа.
email gRPC + AWS SQS Email-сервис: отправка сообщений через SMTP. PostgreSQL для хранения.
sms-gate gRPC + AWS SQS SMS-шлюз: отправка, повторная отправка, получение статуса. AWS SNS + Telegram как fallback.
sumsub-integration gRPC + HTTP (Fiber webhooks) KYC-интеграция: получение токена доступа, информации о заявителе, изображения документа. Обработчик webhook для терминального статуса.

Точки входа в API

Платформа предоставляет три независимых точки входа:

Точка входа Протокол / Фреймворк Назначение
gateway HTTP REST (Fiber v2) Основной шлюз для фронтенда
admin-gateway HTTP REST (Fiber v2 + Casbin) Шлюз для административной панели
Exchange HTTP API HTTP REST (Echo) Публичный торговый API

Ключевые возможности

Многоблокчейновая поддержка

Платформа нативно интегрирована с сетями Bitcoin (BTC), Ethereum (ETH) и TRON, что позволяет обрабатывать депозиты и выводы средств в каждой из этих сетей непосредственно через торговое ядро.

Стакан заявок (Orderbook)

Встроенный механизм матчинга ордеров в Exchange Engine обеспечивает обработку торговых заявок с минимальными задержками. Поддерживаются лимитные и рыночные ордера.

P2P-торговля

Отдельный сервис p2p реализует полноценный marketplace для peer-to-peer сделок: объявления, state machine ордеров, встроенный мессенджер, система споров и отзывов.

AML и KYC

Соответствие регуляторным требованиям обеспечивается через интеграцию с двумя провайдерами: - Elliptic — мониторинг транзакций и AML-скоринг (через topupscan и elliptic_check в Exchange Engine). - Sumsub — верификация личности пользователей KYC/KYB (через sumsub-integration).

Учёт и хранение балансов

Сервис ledger централизованно управляет всеми операциями с балансами: учёт средств, переводы, фиатные операции, фандированные коды и выводы. Контроль целостности данных обеспечивается через хеширование операций. Temporal-оркестрация гарантирует выполнение долгосрочных процессов.

Identity и авторизация

Сервис univex-id: 95+ gRPC-методов, двухфакторная аутентификация (Google Authenticator/TOTP), ролевая модель, сессионное управление.

RBAC для административной панели

admin-gateway использует Casbin для ролевого управления доступом, что позволяет гибко разграничивать права между операторами с разными уровнями привилегий.

Уведомления

Специализированные сервисы email и sms-gate обрабатывают отправку уведомлений через AWS SQS-очереди с поддержкой повторных попыток и отслеживания статусов.

Надёжность и оркестрация

Долгосрочные бизнес-процессы (верификация, обработка платежей, расчёты) реализованы через Temporal.io в сервисах univex-id, ledger и p2p.

Инфраструктура

PostgreSQL (10 баз данных с PgBouncer), Redis, Temporal.io, AWS SQS/SNS, S3-совместимое объектное хранилище, Prometheus.


Навигация по документации