Манитон Docs

Быстрый старт

Запуск платформы локально за 5 минут

Быстрый старт

Этот раздел поможет вам запустить платформу Манитон локально для разработки и тестирования.

Предварительные требования

  • Docker и Docker Compose (версия 20.10+)
  • Bun (версия 1.0+) - пакетный менеджер
  • Node.js (версия 18+)
  • Make (для выполнения скриптов инфраструктуры)
# Проверка версий
docker --version
docker-compose --version
bun --version
node --version
make --version

Структура проекта

maniton-monorepo/
├── apps/
│   ├── client/          # Frontend приложение (Next.js)
│   ├── docs/            # Документация (Nextra)
│   ├── services/        # Микросервисы
│   │   ├── auth/        # Auth Service (KYC, лимиты, санкции) - Реализован
│   │   ├── cfa-core/    # CFA Core Service (управление ЦФА) - Реализован
│   │   ├── ledger/      # Ledger Service (двойная бухгалтерия) - Реализован
│   │   └── besu-connector/ # Besu Connector (интеграция с блокчейном) - Реализован (Go)
│   └── tests/           # E2E тесты (Playwright)
├── packages/
│   ├── contracts/       # Protobuf контракты
│   ├── nestjs-common/   # Общие библиотеки для NestJS
│   └── blockchain/      # Смарт-контракты (Hardhat)
├── infra/
│   ├── besu/            # Конфигурация Hyperledger Besu
│   ├── kafka/           # Конфигурация Kafka
│   ├── k8s/             # Kubernetes манифесты
│   └── monitoring/      # Grafana, Prometheus, Loki
└── scripts/             # Утилиты для разработки

Запуск локально

1. Клонирование и установка зависимостей

# Клонирование репозитория
git clone <repository-url>
cd maniton-monorepo

# Установка зависимостей
bun install

# Генерация кода из Protobuf контрактов
bun buf:generate

2. Запуск инфраструктуры

# Запуск Kafka, PostgreSQL, Hyperledger Besu
cd infra/kafka
docker-compose up -d

cd ../besu
docker-compose up -d

3. Запуск сервисов

# Запуск всех сервисов в development режиме
bun run dev

# Или запуск отдельных сервисов
bun run dev:auth
bun run dev:cfa-core
bun run dev:ledger

4. Запуск фронтенда

# В отдельном терминале
cd apps/client
bun run dev

5. Проверка работоспособности

# Проверка здоровья сервисов
curl http://localhost:3010/health  # Auth Service
curl http://localhost:3020/health  # CFA Core Service
curl http://localhost:3030/health  # Ledger Service
curl http://localhost:3004/health  # Besu Connector

# Проверка Kafka топиков
docker exec -it kafka kafka-topics.sh --list --bootstrap-server localhost:9092

# Проверка блокчейна
curl http://localhost:8545 \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Доступ к сервисам

СервисСтатусURLОписание
FrontendВ разработкеhttp://localhost:3000Веб-приложение
Auth Service✅ Реализованhttp://localhost:3010gRPC:3010
CFA Core Service✅ Реализованhttp://localhost:3020gRPC:3020
Ledger Service✅ Реализованhttp://localhost:3030gRPC:3030
Besu Connector✅ Реализованhttp://localhost:3004gRPC:3004 (Go)
Kafka UI✅ Реализованhttp://localhost:8080UI для Kafka
PostgreSQL✅ Реализованlocalhost:5432База данных
Hyperledger Besu✅ Реализованhttp://localhost:8545JSON-RPC

Планируемые сервисы

  • Payments-RU Service - Шлюз для СБП и российских платежей (в проектировании)
  • Market Service - Торговое ядро и матчинг ордеров (в проектировании)

Разработка

Добавление новых сервисов

  1. Создайте новый сервис в apps/services/<service-name>
  2. Добавьте его в turbo.json для кэширования
  3. Обновите package.json в корне для скриптов запуска
  4. Добавьте Protobuf контракты в packages/contracts/proto

Работа с Protobuf

# Форматирование .proto файлов
bun buf format -w

# Линтинг контрактов
bun buf lint

# Генерация TypeScript и Go кода
bun buf generate

# Проверка breaking changes
bun buf breaking --against .git#branch=main

Тестирование

# Unit тесты
bun test

# E2E тесты (Playwright)
cd apps/tests/playwright
bun run test

# Интеграционные тесты
bun test:integration

Полезные команды

# Очистка всех контейнеров
docker-compose down -v

# Просмотр логов сервисов
docker-compose logs -f <service-name>

# Пересборка контейнеров
docker-compose up -d --build

# Проверка миграций базы данных
bun prisma migrate dev

# Генерация Prisma клиента
bun prisma generate

Следующие шаги

Troubleshooting

Проблема: Kafka не стартует

# Очистка данных Kafka
docker-compose down -v
rm -rf kafka-data
docker-compose up -d

Проблема: Besu не подключается

# Проверка логов Besu
docker-compose logs besu

# Сброс сети
docker network prune
docker-compose up -d

Проблема: Порты заняты

# Измените порты в .env.dev
# или используйте другой порт для сервиса

Дополнительные ресурсы

On this page