Référence de configuration

Services

Exécuter une instance Private Channels implique de gérer les services Docker Compose suivants :

ConteneurRôle
private-channel-postgres-primaryBase de données d'état du nœud en écriture (PostgreSQL 16)
private-channel-postgres-replicaBase de données d'état du nœud en lecture (réplique en streaming)
private-channel-postgres-indexerBase de données de l'indexeur et de l'opérateur
private-channel-write-nodeReçoit et exécute les transactions (port 8900, loopback uniquement)
private-channel-read-nodeTraite les requêtes RPC en lecture (port 8901, loopback uniquement)
private-channel-gatewayAchemine les requêtes entre les nœuds d'écriture et de lecture ; applique le RBAC (port 8899)
private-channel-indexer-solanaSurveille Solana pour les événements Deposit via Yellowstone gRPC
private-channel-indexer-private-channelSurveille le canal pour les événements Burn via l'interrogation RPC
private-channel-operator-solanaÉmet des tokens de canal lorsque les dépôts sont confirmés
private-channel-operator-private-channelAppelle ReleaseFunds sur le Mainnet lorsque les retraits sont confirmés
private-channel-authService JWT/RBAC optionnel (profil Docker : auth)

Les conteneurs d'observabilité (prometheus, grafana, cadvisor) sont également inclus.

Gateway

Ces paramètres ont des valeurs par défaut appropriées pour la configuration Docker Compose du devnet. Ne les modifiez que si vous exécutez la gateway en dehors de Docker ou si vous déployez en production.

Variable d'env.DéfautRequisDescription
GATEWAY_PORT8899 (devnet)NonPort d'écoute
GATEWAY_WRITE_URLhttp://write-node:8900 (valeur du fichier env devnet ; pas de valeur par défaut dans le binaire)OuiURL du nœud d'écriture — les requêtes sendTransaction y sont dirigées
GATEWAY_READ_URLhttp://read-node:8901 (valeur du fichier env devnet ; pas de valeur par défaut dans le binaire)OuiURL du nœud de lecture — toutes les autres méthodes RPC y sont dirigées
GATEWAY_CORS_ALLOWED_ORIGIN*NonValeur de l'en-tête Access-Control-Allow-Origin
JWT_SECRET-NonActive le RBAC ; doit correspondre au JWT_SECRET du service d'authentification
AUTH_DATABASE_URL-Si JWT_SECRET définiBase de données d'authentification pour la vérification de la propriété des portefeuilles
AUTH_DATABASE_MAX_CONNECTIONS10NonTaille du pool de connexions à la base de données d'authentification
METRICS_PORT9101NonPort des métriques Prometheus
RUST_LOGinfoNonNiveau de journalisation

GATEWAY_WRITE_URL et GATEWAY_READ_URL utilisent les noms d'hôtes des services Docker Compose (write-node, read-node) lors de l'exécution dans Docker. Utilisez les équivalents localhost uniquement lorsque vous exécutez le binaire de la gateway directement en dehors de Docker.

La valeur par défaut intégrée du binaire de la gateway pour GATEWAY_PORT est 8898. .env.example et .env.devnet la définissent tous deux à 8899, ce qui correspond à ce que la configuration Docker Compose utilise réellement (versions.env ne contient que les versions des outils et des images, pas les ports des services). La valeur par défaut 8898 ne s'applique que si vous exécutez le binaire directement sans fichier env.

GATEWAY_CORS_ALLOWED_ORIGIN est par défaut *, ce qui permet à n'importe quelle origine d'appeler la gateway depuis un navigateur. Restreignez cette valeur à l'origine réelle de votre application avant tout déploiement en production.

Nœud d'écriture et nœud de lecture

La référence complète de configuration du nœud d'écriture et du nœud de lecture se trouve dans docs/CONFIG.md dans le dépôt.

Service d'authentification

Variable d'env.RequisDescription
JWT_SECRETOuiSecret de signature HS256 ; doit correspondre au JWT_SECRET de la gateway
AUTH_PORTNon (défaut : 8903)Port d'écoute
AUTH_DATABASE_URLOuiChaîne de connexion PostgreSQL pour la base de données d'authentification
CORS_ALLOWED_ORIGINNon (défaut : *)Valeur de l'en-tête Access-Control-Allow-Origin pour ce service (indépendant du GATEWAY_CORS_ALLOWED_ORIGIN de la gateway)
AUTH_DATABASE_MAX_CONNECTIONSNon (défaut : 10)Taille du pool de connexions à la base de données d'authentification

Référence des ports de service

ServicePort hôteLiaison
Gateway8899Toutes les interfaces
Nœud d'écriture8900Loopback uniquement
Nœud de lecture8901Loopback uniquement
Streamer8902Interne uniquement (expose, non publié vers l'hôte) ; ne fait pas partie de la pile devnet
Service d'authentification8903Toutes les interfaces
Métriques opérateur9102, 9103Toutes les interfaces
Grafana37429Toutes les interfaces
Prometheus9090Toutes les interfaces
cAdvisor8080Toutes les interfaces

Note de sécurité : Les ports du nœud d'écriture et du nœud de lecture sont liés au loopback (127.0.0.1) uniquement. La gateway, le service d'authentification, les métriques opérateur, Grafana, Prometheus et cAdvisor sont tous publiés sur toutes les interfaces réseau dans la configuration Docker Compose du devnet. Protégez-les par un pare-feu au niveau de l'hôte ou du réseau pour tout usage au-delà du développement local ; le RBAC ne couvre que les méthodes JSON-RPC propres à la gateway, pas ces autres services. Le Streamer fait exception : il s'agit d'un flux interne non authentifié que Docker ne publie jamais vers l'hôte.

Exigences réseau

Consultez docs/TECHNICAL_REQUIREMENTS.md dans le dépôt pour les règles de pare-feu et les exigences en matière de bande passante.

Is this page helpful?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.