Справочник конфигурации

Сервисы

Запуск экземпляра Private Channels подразумевает наличие следующих сервисов Docker Compose:

КонтейнерРоль
private-channel-postgres-primaryБаза данных состояния узла записи (PostgreSQL 16)
private-channel-postgres-replicaБаза данных состояния узла чтения (потоковая реплика)
private-channel-postgres-indexerБаза данных индексера и оператора
private-channel-write-nodeПринимает и выполняет транзакции (порт 8900, только loopback)
private-channel-read-nodeОбрабатывает RPC-запросы на чтение (порт 8901, только loopback)
private-channel-gatewayМаршрутизирует запросы между узлами записи и чтения; обеспечивает RBAC (порт 8899)
private-channel-indexer-solanaОтслеживает события Deposit в Solana через Yellowstone gRPC
private-channel-indexer-private-channelОтслеживает события Burn в канале через RPC-опрос
private-channel-operator-solanaВыпускает токены канала при подтверждении депозитов
private-channel-operator-private-channelВызывает ReleaseFunds в Mainnet при подтверждении выводов
private-channel-authОпциональный сервис JWT/RBAC (профиль Docker: auth)

Контейнеры наблюдаемости (prometheus, grafana, cadvisor) также включены.

Шлюз

Для настройки devnet в Docker Compose предусмотрены разумные значения по умолчанию. Изменяйте их только при запуске шлюза вне Docker или при развёртывании в производственной среде.

Переменная окруженияПо умолчаниюОбязательнаОписание
GATEWAY_PORT8899 (devnet)НетПорт прослушивания
GATEWAY_WRITE_URLhttp://write-node:8900 (значение из файла окружения devnet; бинарного значения по умолчанию нет)ДаURL узла записи — запросы sendTransaction направляются сюда
GATEWAY_READ_URLhttp://read-node:8901 (значение из файла окружения devnet; бинарного значения по умолчанию нет)ДаURL узла чтения — все остальные RPC-методы направляются сюда
GATEWAY_CORS_ALLOWED_ORIGIN*НетЗначение заголовка Access-Control-Allow-Origin
JWT_SECRET-НетВключает RBAC; должен совпадать с JWT_SECRET сервиса аутентификации
AUTH_DATABASE_URL-Если задан JWT_SECRETБаза данных аутентификации для проверки владения кошельком
AUTH_DATABASE_MAX_CONNECTIONS10НетРазмер пула соединений базы данных аутентификации
METRICS_PORT9101НетПорт метрик Prometheus
RUST_LOGinfoНетУровень логирования

GATEWAY_WRITE_URL и GATEWAY_READ_URL используют имена сервисов Docker Compose (write-node, read-node) при запуске в Docker. Используйте эквиваленты с localhost только при запуске бинарного файла шлюза непосредственно вне Docker.

Встроенное значение порта по умолчанию для бинарного файла шлюза — GATEWAY_PORT равен 8898. Файлы .env.example и .env.devnet оба устанавливают его в 8899, что и используется в настройке Docker Compose (versions.env содержит только версии инструментов и образов, но не порты сервисов). Значение по умолчанию 8898 применяется только при запуске бинарного файла напрямую без файла окружения.

GATEWAY_CORS_ALLOWED_ORIGIN по умолчанию равен *, что позволяет любому источнику вызывать шлюз из браузера. Ограничьте это значение реальным источником вашего приложения перед любым развёртыванием в производственной среде.

Узел записи и узел чтения

Полный справочник конфигурации узла записи и узла чтения находится в docs/CONFIG.md в репозитории.

Сервис аутентификации

Переменная окруженияОбязательнаОписание
JWT_SECRETДаСекрет подписи HS256; должен совпадать с JWT_SECRET шлюза
AUTH_PORTНет (по умолчанию 8903)Порт прослушивания
AUTH_DATABASE_URLДаСтрока подключения PostgreSQL к базе данных аутентификации
CORS_ALLOWED_ORIGINНет (по умолчанию *)Значение заголовка Access-Control-Allow-Origin для этого сервиса (независимо от GATEWAY_CORS_ALLOWED_ORIGIN шлюза)
AUTH_DATABASE_MAX_CONNECTIONSНет (по умолчанию 10)Размер пула соединений базы данных аутентификации

Справочник портов сервисов

СервисПорт хостаПривязка
Шлюз8899Все интерфейсы
Узел записи8900Только loopback
Узел чтения8901Только loopback
Стример8902Только внутренний (expose, не публикуется на хост); не входит в devnet-стек
Сервис аутентификации8903Все интерфейсы
Метрики оператора9102, 9103Все интерфейсы
Grafana37429Все интерфейсы
Prometheus9090Все интерфейсы
cAdvisor8080Все интерфейсы

Примечание по безопасности: Порты узлов записи и чтения привязаны только к loopback (127.0.0.1). Шлюз, сервис аутентификации, метрики оператора, Grafana, Prometheus и cAdvisor публикуются на все сетевые интерфейсы в настройке devnet Docker Compose. Закройте их брандмауэром на уровне хоста или сети для любого использования за пределами локальной разработки; RBAC распространяется только на собственные методы JSON-RPC шлюза, но не на эти сервисы. Исключение составляет Стример: это неаутентифицированный внутренний поток, который Docker никогда не публикует на хост.

Сетевые требования

См. docs/TECHNICAL_REQUIREMENTS.md в репозитории для получения информации о правилах брандмауэра и требованиях к пропускной способности.

Is this page helpful?

Содержание

Редактировать страницу