Services
Het uitvoeren van een Private Channels-instantie betekent dat u de volgende Docker Compose- services beheert:
| Container | Rol |
|---|---|
private-channel-postgres-primary | Schrijf-node statusdatabase (PostgreSQL 16) |
private-channel-postgres-replica | Lees-node statusdatabase (streaming replica) |
private-channel-postgres-indexer | Indexer- en operatordatabase |
private-channel-write-node | Ontvangt en voert transacties uit (poort 8900, alleen loopback) |
private-channel-read-node | Verwerkt RPC-leesquery's (poort 8901, alleen loopback) |
private-channel-gateway | Routeert verzoeken tussen schrijf- en lees-nodes; handhaaft RBAC (poort 8899) |
private-channel-indexer-solana | Bewaakt Solana op Deposit-events via Yellowstone gRPC |
private-channel-indexer-private-channel | Bewaakt het kanaal op Burn-events via RPC-polling |
private-channel-operator-solana | Mint kanaaltokens wanneer stortingen zijn bevestigd |
private-channel-operator-private-channel | Roept ReleaseFunds aan op Mainnet wanneer opnames zijn bevestigd |
private-channel-auth | Optionele JWT/RBAC-service (Docker-profiel: auth) |
Observability-containers (prometheus, grafana, cadvisor) zijn ook
inbegrepen.
Gateway
Deze hebben verstandige standaardwaarden voor de devnet Docker Compose-opzet. Overschrijf ze alleen als u de gateway buiten Docker uitvoert of naar productie deployt.
| Omgevingsvariabele | Standaard | Vereist | Beschrijving |
|---|---|---|---|
GATEWAY_PORT | 8899 (devnet) | Nee | Luisterpoort |
GATEWAY_WRITE_URL | http://write-node:8900 (devnet env-bestandswaarde; geen binaire standaard) | Ja | Schrijf-node URL - sendTransaction-verzoeken worden hier naartoe gerouteerd |
GATEWAY_READ_URL | http://read-node:8901 (devnet env-bestandswaarde; geen binaire standaard) | Ja | Lees-node URL - alle andere RPC-methoden worden hier naartoe gerouteerd |
GATEWAY_CORS_ALLOWED_ORIGIN | * | Nee | Waarde van de Access-Control-Allow-Origin-header |
JWT_SECRET | - | Nee | Schakelt RBAC in; moet overeenkomen met de JWT_SECRET van de auth-service |
AUTH_DATABASE_URL | - | Als JWT_SECRET is ingesteld | Auth-DB voor controles van wallet-eigendom |
AUTH_DATABASE_MAX_CONNECTIONS | 10 | Nee | Verbindingspoolgrootte van de auth-DB |
METRICS_PORT | 9101 | Nee | Prometheus-metriekenpoort |
RUST_LOG | info | Nee | Logniveau |
GATEWAY_WRITE_URLenGATEWAY_READ_URLgebruiken Docker Compose-service- hostnamen (write-node,read-node) wanneer ze in Docker worden uitgevoerd. Gebruiklocalhost- equivalenten alleen wanneer u het gateway-binaire bestand rechtstreeks buiten Docker uitvoert.De ingebouwde standaardwaarde van het gateway-binaire bestand voor
GATEWAY_PORTis8898..env.exampleen.env.devnetstellen het beide in op8899, wat de Docker Compose-opzet daadwerkelijk gebruikt (versions.envbevat alleen toolchain- en image-versiepinnen, geen servicepoorten). De8898-standaard is alleen van toepassing als u het binaire bestand rechtstreeks uitvoert zonder env-bestand.
GATEWAY_CORS_ALLOWED_ORIGIN staat standaard op *, waardoor elke origin de
gateway vanuit een browser kan aanroepen. Beperk dit tot de werkelijke origin van uw applicatie
vóór elke productie-deployment.
Schrijf-node en lees-node
De volledige configuratiereferentie voor de schrijf-node en lees-node staat in
docs/CONFIG.md
in de repository.
Auth-service
| Omgevingsvariabele | Vereist | Beschrijving |
|---|---|---|
JWT_SECRET | Ja | HS256-ondertekeningsgeheim; moet overeenkomen met de JWT_SECRET van de gateway |
AUTH_PORT | Nee (standaard 8903) | Luisterpoort |
AUTH_DATABASE_URL | Ja | PostgreSQL-verbindingsreeks voor de auth-database |
CORS_ALLOWED_ORIGIN | Nee (standaard *) | Waarde van de Access-Control-Allow-Origin-header voor deze service (onafhankelijk van de GATEWAY_CORS_ALLOWED_ORIGIN van de gateway) |
AUTH_DATABASE_MAX_CONNECTIONS | Nee (standaard 10) | Verbindingspoolgrootte van de auth-DB |
Servicepoort-referentie
| Service | Hostpoort | Binding |
|---|---|---|
| Gateway | 8899 | Alle interfaces |
| Schrijf-node | 8900 | Alleen loopback |
| Lees-node | 8901 | Alleen loopback |
| Streamer | 8902 | Alleen intern (expose, niet gepubliceerd naar de host); geen onderdeel van de devnet-stack |
| Auth-service | 8903 | Alle interfaces |
| Operatormetrieken | 9102, 9103 | Alle interfaces |
| Grafana | 37429 | Alle interfaces |
| Prometheus | 9090 | Alle interfaces |
| cAdvisor | 8080 | Alle interfaces |
Beveiligingsopmerking: Schrijf-node- en lees-nodepoorten zijn gebonden aan loopback (
127.0.0.1) alleen. Gateway, auth-service, operatormetrieken, Grafana, Prometheus en cAdvisor worden allemaal gepubliceerd naar elke netwerkinterface in de devnet Docker Compose-opzet. Beveilig deze op host- of netwerkniveau voor alles buiten lokale ontwikkeling; RBAC dekt alleen de JSON-RPC- methoden van de gateway zelf, niet deze andere services. De Streamer is de uitzondering: het is een niet-geverifieerde interne feed die Docker nooit naar de host publiceert.
Netwerkvereisten
Zie
docs/TECHNICAL_REQUIREMENTS.md
in de repository voor firewallregels en bandbreedtevereisten.
Is this page helpful?