Riferimento alla Configurazione

Servizi

Eseguire un'istanza di Private Channels significa gestire i seguenti servizi Docker Compose:

ContainerRuolo
private-channel-postgres-primaryDatabase di stato del nodo di scrittura (PostgreSQL 16)
private-channel-postgres-replicaDatabase di stato del nodo di lettura (replica in streaming)
private-channel-postgres-indexerDatabase dell'indicizzatore e dell'operatore
private-channel-write-nodeRiceve ed esegue le transazioni (porta 8900, solo loopback)
private-channel-read-nodeGestisce le query RPC in lettura (porta 8901, solo loopback)
private-channel-gatewayInstrada le richieste tra nodi di scrittura e lettura; applica RBAC (porta 8899)
private-channel-indexer-solanaMonitora Solana per eventi Deposit tramite Yellowstone gRPC
private-channel-indexer-private-channelMonitora il canale per eventi Burn tramite polling RPC
private-channel-operator-solanaConia token del canale quando i depositi vengono confermati
private-channel-operator-private-channelChiama ReleaseFunds su Mainnet quando i prelievi vengono confermati
private-channel-authServizio JWT/RBAC opzionale (profilo Docker: auth)

Sono inclusi anche i container di osservabilità (prometheus, grafana, cadvisor).

Gateway

Questi valori hanno impostazioni predefinite appropriate per la configurazione Docker Compose su devnet. Sovrascriverli solo se il gateway viene eseguito al di fuori di Docker o distribuito in produzione.

Variabile d'ambientePredefinitoObbligatorioDescrizione
GATEWAY_PORT8899 (devnet)NoPorta di ascolto
GATEWAY_WRITE_URLhttp://write-node:8900 (valore del file env devnet; nessun valore predefinito nel binario)SìURL del nodo di scrittura - le richieste sendTransaction vengono instradate qui
GATEWAY_READ_URLhttp://read-node:8901 (valore del file env devnet; nessun valore predefinito nel binario)SìURL del nodo di lettura - tutti gli altri metodi RPC vengono instradati qui
GATEWAY_CORS_ALLOWED_ORIGIN*NoValore dell'intestazione Access-Control-Allow-Origin
JWT_SECRET-NoAbilita RBAC; deve corrispondere al JWT_SECRET del servizio auth
AUTH_DATABASE_URL-Se JWT_SECRET è impostatoDB di autenticazione per la verifica della proprietà del wallet
AUTH_DATABASE_MAX_CONNECTIONS10NoDimensione del pool di connessioni al DB di autenticazione
METRICS_PORT9101NoPorta delle metriche Prometheus
RUST_LOGinfoNoLivello di log

GATEWAY_WRITE_URL e GATEWAY_READ_URL utilizzano i nomi host del servizio Docker Compose (write-node, read-node) quando vengono eseguiti in Docker. Utilizzare gli equivalenti localhost solo quando si esegue il binario del gateway direttamente al di fuori di Docker.

Il valore predefinito integrato del binario del gateway per GATEWAY_PORT è 8898. Sia .env.example che .env.devnet lo impostano a 8899, che è il valore effettivamente utilizzato dalla configurazione Docker Compose (versions.env contiene solo le versioni degli strumenti e delle immagini, non le porte dei servizi). Il valore predefinito 8898 si applica solo se si esegue il binario direttamente senza alcun file env.

GATEWAY_CORS_ALLOWED_ORIGIN ha come valore predefinito *, che consente a qualsiasi origine di chiamare il gateway da un browser. Limitare questo valore all'origine effettiva della propria applicazione prima di qualsiasi distribuzione in produzione.

Nodo di Scrittura e Nodo di Lettura

Il riferimento completo alla configurazione del nodo di scrittura e del nodo di lettura si trova in docs/CONFIG.md nel repository.

Servizio di Autenticazione

Variabile d'ambienteObbligatorioDescrizione
JWT_SECRETSìSegreto di firma HS256; deve corrispondere al JWT_SECRET del gateway
AUTH_PORTNo (predefinito 8903)Porta di ascolto
AUTH_DATABASE_URLSìStringa di connessione PostgreSQL per il database di autenticazione
CORS_ALLOWED_ORIGINNo (predefinito *)Valore dell'intestazione Access-Control-Allow-Origin per questo servizio (indipendente dal GATEWAY_CORS_ALLOWED_ORIGIN del gateway)
AUTH_DATABASE_MAX_CONNECTIONSNo (predefinito 10)Dimensione del pool di connessioni al DB di autenticazione

Riferimento alle Porte dei Servizi

ServizioPorta HostBinding
Gateway8899Tutte le interfacce
Nodo di scrittura8900Solo loopback
Nodo di lettura8901Solo loopback
Streamer8902Solo interno (expose, non pubblicato sull'host); non fa parte dello stack devnet
Servizio di autenticazione8903Tutte le interfacce
Metriche operatore9102, 9103Tutte le interfacce
Grafana37429Tutte le interfacce
Prometheus9090Tutte le interfacce
cAdvisor8080Tutte le interfacce

Nota di sicurezza: Le porte del nodo di scrittura e del nodo di lettura sono associate al loopback (127.0.0.1) soltanto. Gateway, servizio di autenticazione, metriche operatore, Grafana, Prometheus e cAdvisor sono tutti pubblicati su ogni interfaccia di rete nella configurazione Docker Compose su devnet. Proteggerli con un firewall a livello di host o di rete per qualsiasi utilizzo che vada oltre lo sviluppo locale; RBAC copre solo i metodi JSON-RPC del gateway, non gli altri servizi. Lo Streamer è l'eccezione: è un feed interno non autenticato che Docker non pubblica mai sull'host.

Requisiti di Rete

Consultare docs/TECHNICAL_REQUIREMENTS.md nel repository per le regole del firewall e i requisiti di larghezza di banda.

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.