Манитон Docs

Статус проекта Манитон

Дорожная карта, прогресс и приоритеты разработки

Статус проекта Манитон

Дата обновления: 19 января 2026


Что готово ✅

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

  • ✅ Docker Compose для dev-окружения (рефакторинг структуры в infra/docker)
  • ✅ Kafka (KRaft mode, 3 brokers)
  • ✅ Hyperledger Besu (3 validators, QBFT консенсус)
  • ✅ PostgreSQL (ledger-db, cfa-db, blockscout-db)
  • ✅ Мониторинг стека (Prometheus, Grafana, Loki, Promtail)
  • ✅ Просмоторщики сети (Kafka UI, Blockscout)
  • ✅ Централизованный реестр сервисов в Protobuf (maniton.common.v1.Service)
  • ✅ Улучшенный dev-скрипт (bun dev) с динамической загрузкой портов и образов из контрактов
  • ✅ Health-check скрипт (bun health) для проверки всех компонентов

2. Protobuf контракты

  • ✅ Все домены описаны в .proto:

    • maniton.besu.v1 — команды/события для Besu
    • maniton.cfa.v1 — выпуск/погашение ЦФА
    • maniton.ledger.v1 — операционный учёт
    • maniton.payments.v1 — платежи СБП/банки
    • maniton.identity.v1 — KYC/AML/лимиты
    • maniton.external.v1 — внешний контур
    • maniton.market.v1 — торговля
    • maniton.instruments.v1 — управление инструментами
    • maniton.dividends.v1 — выплата дивидендов
    • maniton.audit.v1 — неизменяемый журнал
    • maniton.events.v1 — CloudEvents + топики Kafka
    • maniton.common.v1 — общие типы
  • ✅ Генерация TypeScript + Go (buf generate)

  • ✅ Buf lint + format настроены

  • ✅ Workspace imports в TypeScript

3. Auth & Identity Service (NestJS)

  • ✅ Полностью функциональный микросервис
  • ✅ Интеграция с Keycloak (IdP)
  • ✅ Управление KYC профилями и лимитами
  • ✅ Ролевая модель (RBAC) и проверка разрешений
  • ✅ Outbox Relay для гарантированной доставки событий в Kafka
  • ✅ Фоновые задачи (BullMQ) для AML проверок и риск-скоринга

4. Besu Connector (Go)

  • ✅ Полностью функциональный микросервис
  • ✅ Поддерживаемые команды:
    • GetBlockCommandBlockReadEvent
    • SubmitTransactionCommandTransactionSubmittedEvent
    • GetTransactionReceiptCommandTransactionReceiptReadyEvent
    • VerifyBlockHashCommandBlockHashVerifiedEvent
  • ✅ Kafka producer/consumer
  • ✅ EventEnvelope (CloudEvents + RequestContext)
  • ✅ Unit тесты
  • ✅ E2E тесты (Playwright)

5. Playwright тесты

  • ✅ Fixtures (KafkaHelper, BesuHelper)
  • ✅ Strict TypeScript (no any)
  • ✅ API тесты:
    • tests/api/besu-rpc.api.spec.ts — JSON-RPC Besu
    • tests/api/kafka.api.spec.ts — Kafka connectivity
  • ✅ Besu Connector тесты:
    • tests/besu-connector/get-block.spec.ts — 290+ тестов
  • ✅ Integration тесты:
    • tests/integration/full-flow.spec.ts — Full E2E flow
  • ✅ Types:
    • types/kafka.types.ts
    • types/besu.types.ts
    • types/test.types.ts
  • ✅ Utils:
    • utils/kafka-helper.ts — Type-safe Kafka operations (555 lines)
    • utils/besu-helper.ts — Type-safe Besu RPC operations

6. Документация

  • docs/architecture/ — Техническая архитектура
  • docs/concepts/ — Фундаментальные понятия и DLT
  • docs/reference/ — Справочник API и Сервисов
  • docs/guides/ — Инструкции по операциям
  • docs/compliance/ — Безопасность и аудит
  • README.md — Quickstart в корне репозитория

Детализированный план разработки (Sprints) 🚀

Спринт 1: Ledger-DB + Payments-RU (MVP пополнения)

Цель: Реализовать полный flow пополнения CFA-RUB.

  • Ledger-DB: Миграции БД, Double-entry logic, Kafka consumer для пополнений.
  • Payments-RU: Генерация QR/URL, Webhook handler (идемпотентность), публикация событий.
  • E2E: СБП Webhook → Обновление баланса в Ledger.

Спринт 2: CFA-Core + Besu Integration (On-chain эмиссия)

Цель: Реальный выпуск токенов в DLT.

  • CFA-Core: Issue/Redeem логика, интеграция с Besu Connector, ERC-20 смарт-контракты.
  • DLT: Деплой контрактов, подтверждение транзакций, синхронизация статусов.
  • E2E: Оплата → CFA-Core → Besu → Ledger.

Спринт 3: Identity + KYC Flow (Compliance)

Цель: Проверки пользователей и лимитов.

  • Identity Service: KYC workflow, санкционные проверки (AML), управление лимитами 259-ФЗ.
  • Integration: Блокировка операций при недостаточном уровне KYC.

Спринт 4: Instruments + Market (Торговля)

Цель: Вторичный рынок инвестиционных ЦФА.

  • Instruments: Управление жизненным циклом (CFA-EQ, CFA-BOND).
  • Market Service: Matching Engine (FIFO), Order Book, DvP расчеты через Ledger.

Спринт 5: External Bridge + API Gateway (Внешний мир)

Цель: Международные переводы и клиентский доступ.

  • External Bridge: SWIFT/SEPA интеграция (mock), Hold/Burn при выводах.
  • API Gateway: Единая точка входа, Auth (JWT), Swagger, Rate Limiting.
  • Web App: Личный кабинет, кошелек, витрина инвестиций.

Метрики проекта 📊

Code Coverage

  • Besu Connector (Go): ✅ 85%+ (unit tests)
  • Playwright тесты: ✅ 290+ tests passing
  • Остальные сервисы: ⏳ Не реализованы

Документация

  • Технический справочник: ✅ Готов (все разделы структурированы)
  • API спецификации: 🚧 Будут после реализации gRPC (Swagger/Protobuf docs)

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

  • Docker Compose: ✅ Работает
  • Kubernetes: ⏳ Не настроен
  • CI/CD: ⏳ Базовая GitHub Actions (lint/build), нужны тесты в CI

Риски и блокеры ⚠️

Риск 1: Производительность Ledger-DB

Проблема: Частые обновления balance при большой нагрузке.

Митигация:

  • Row-level locking в транзакциях
  • Партиционирование таблицы subaccounts
  • Redis cache для балансов

Риск 2: Kafka Consumer Lag

Проблема: Отставание consumer при большом потоке событий.

Митигация:

  • Увеличить количество partitions
  • Scaling consumer инстансов
  • Batch processing

Риск 3: Смарт-контракты (аудит)

Проблема: Уязвимости в смарт-контрактах могут привести к потере средств.

Митигация:

  • Code review + аудит (Certora, OpenZeppelin)
  • Formal verification
  • Testnet deployment перед продом

Следующие шаги (Action Items) ✍️

Сегодня

  1. ✅ Изучить проект — DONE
  2. ✅ Описать бизнес-логику — DONE (BUSINESS_LOGIC.md)
  3. ✅ Создать технический план — DONE (NEXT_STEPS.md)

Завтра

  1. Создать структуру apps/ledger-db/
  2. Настроить NestJS + Drizzle ORM
  3. Создать первую миграцию (accounts table)
  4. Написать AccountEntity + AccountRepository
  5. Написать первый unit test

Эта неделя

  1. Закончить все миграции (5 tables)
  2. Имплементировать все domain services
  3. Настроить Kafka consumer/producer
  4. Написать unit тесты (80% coverage)

Следующая неделя

  1. Имплементировать gRPC API
  2. Написать integration тесты (Playwright)
  3. E2E тест: Full Deposit Flow
  4. Code review + refactoring

Контакты и ресурсы 📚

Документация:

Protobuf контракты:

Внешние ресурсы:


Заключение 🎉

Проект в хорошем состоянии:

  • ✅ Инфраструктура работает
  • ✅ Besu Connector готов и протестирован
  • ✅ Protobuf контракты полностью описаны
  • ✅ Playwright тесты настроены
  • ✅ Бизнес-логика документирована

Следующий шаг: Начать разработку Ledger-DB Service (NestJS + Drizzle ORM + PostgreSQL).

Ожидаемый результат (через 2 недели): Полный flow пополнения CFA-RUB через mock webhook с обновлением баланса в Ledger-DB.


Обновлено: 19 января 2026 Автор: AI Assistant (Claude Sonnet 4.5)

On this page