Referencia de Configuración

Servicios

Ejecutar una instancia de Private Channels implica gestionar los siguientes servicios de Docker Compose:

ContenedorRol
private-channel-postgres-primaryBase de datos de estado del nodo de escritura (PostgreSQL 16)
private-channel-postgres-replicaBase de datos de estado del nodo de lectura (réplica en streaming)
private-channel-postgres-indexerBase de datos del indexador y del operador
private-channel-write-nodeRecibe y ejecuta transacciones (puerto 8900, solo loopback)
private-channel-read-nodeGestiona las consultas de lectura RPC (puerto 8901, solo loopback)
private-channel-gatewayEnruta solicitudes entre nodos de escritura y lectura; aplica RBAC (puerto 8899)
private-channel-indexer-solanaMonitoriza Solana en busca de eventos Deposit a través de Yellowstone gRPC
private-channel-indexer-private-channelMonitoriza el canal en busca de eventos Burn mediante sondeo RPC
private-channel-operator-solanaAcuña tokens del canal cuando se confirman los depósitos
private-channel-operator-private-channelLlama a ReleaseFunds en Mainnet cuando se confirman los retiros
private-channel-authServicio JWT/RBAC opcional (perfil Docker: auth)

Los contenedores de observabilidad (prometheus, grafana, cadvisor) también están incluidos.

Gateway

Estos valores tienen configuraciones predeterminadas adecuadas para el entorno Docker Compose de devnet. Cámbielos solo si ejecuta el gateway fuera de Docker o si despliega en producción.

Variable de entornoPredeterminadoRequeridoDescripción
GATEWAY_PORT8899 (devnet)NoPuerto de escucha
GATEWAY_WRITE_URLhttp://write-node:8900 (valor del archivo env de devnet; sin valor predeterminado en el binario)SíURL del nodo de escritura - las solicitudes sendTransaction se enrutan aquí
GATEWAY_READ_URLhttp://read-node:8901 (valor del archivo env de devnet; sin valor predeterminado en el binario)SíURL del nodo de lectura - todos los demás métodos RPC se enrutan aquí
GATEWAY_CORS_ALLOWED_ORIGIN*NoValor del encabezado Access-Control-Allow-Origin
JWT_SECRET-NoHabilita RBAC; debe coincidir con el JWT_SECRET del servicio auth
AUTH_DATABASE_URL-Si JWT_SECRET está definidoBase de datos de autenticación para verificaciones de titularidad de wallet
AUTH_DATABASE_MAX_CONNECTIONS10NoTamaño del pool de conexiones de la base de datos de autenticación
METRICS_PORT9101NoPuerto de métricas de Prometheus
RUST_LOGinfoNoNivel de registro

GATEWAY_WRITE_URL y GATEWAY_READ_URL utilizan los nombres de host del servicio Docker Compose (write-node, read-node) al ejecutarse dentro de Docker. Use equivalentes con localhost solo cuando ejecute el binario del gateway directamente fuera de Docker.

El valor predeterminado integrado del binario del gateway para GATEWAY_PORT es 8898. Tanto .env.example como .env.devnet lo establecen en 8899, que es el valor que utiliza realmente el entorno Docker Compose (versions.env solo contiene versiones de herramientas e imágenes, no puertos de servicio). El valor predeterminado 8898 solo aplica si ejecuta el binario directamente sin ningún archivo env.

GATEWAY_CORS_ALLOWED_ORIGIN tiene como valor predeterminado *, lo que permite que cualquier origen llame al gateway desde un navegador. Restrinja esto al origen real de su aplicación antes de cualquier despliegue en producción.

Nodo de Escritura y Nodo de Lectura

La referencia completa de configuración del nodo de escritura y del nodo de lectura se encuentra en docs/CONFIG.md en el repositorio.

Servicio de Autenticación

Variable de entornoRequeridoDescripción
JWT_SECRETSíSecreto de firma HS256; debe coincidir con el JWT_SECRET del gateway
AUTH_PORTNo (predeterminado 8903)Puerto de escucha
AUTH_DATABASE_URLSíCadena de conexión PostgreSQL para la base de datos de autenticación
CORS_ALLOWED_ORIGINNo (predeterminado *)Valor del encabezado Access-Control-Allow-Origin para este servicio (independiente del GATEWAY_CORS_ALLOWED_ORIGIN del gateway)
AUTH_DATABASE_MAX_CONNECTIONSNo (predeterminado 10)Tamaño del pool de conexiones de la base de datos de autenticación

Referencia de Puertos de Servicio

ServicioPuerto del hostEnlace
Gateway8899Todas las interfaces
Nodo de escritura8900Solo loopback
Nodo de lectura8901Solo loopback
Streamer8902Solo interno (expose, no publicado al host); no forma parte del stack de devnet
Servicio de autenticación8903Todas las interfaces
Métricas del operador9102, 9103Todas las interfaces
Grafana37429Todas las interfaces
Prometheus9090Todas las interfaces
cAdvisor8080Todas las interfaces

Nota de seguridad: Los puertos del nodo de escritura y del nodo de lectura están vinculados únicamente al loopback (127.0.0.1). Gateway, servicio de autenticación, métricas del operador, Grafana, Prometheus y cAdvisor están todos publicados en cada interfaz de red en el entorno Docker Compose de devnet. Protéjalos con firewall a nivel de host o de red para cualquier uso más allá del desarrollo local; el RBAC solo cubre los métodos JSON-RPC propios del gateway, no estos otros servicios. El Streamer es la excepción: es un feed interno sin autenticación que Docker nunca publica al host.

Requisitos de Red

Consulte docs/TECHNICAL_REQUIREMENTS.md en el repositorio para conocer las reglas de firewall y los requisitos de ancho de banda.

Is this page helpful?

Tabla de Contenidos

Editar Página