Referensi Konfigurasi

Layanan

Menjalankan instans Private Channels berarti mengelola layanan-layanan Docker Compose berikut:

ContainerPeran
private-channel-postgres-primaryDatabase status node tulis (PostgreSQL 16)
private-channel-postgres-replicaDatabase status node baca (streaming replica)
private-channel-postgres-indexerDatabase indexer dan operator
private-channel-write-nodeMenerima dan mengeksekusi transaksi (port 8900, hanya loopback)
private-channel-read-nodeMenangani kueri baca RPC (port 8901, hanya loopback)
private-channel-gatewayMerutekan permintaan antara node tulis dan baca; menerapkan RBAC (port 8899)
private-channel-indexer-solanaMemantau Solana untuk event Deposit melalui Yellowstone gRPC
private-channel-indexer-private-channelMemantau channel untuk event Burn melalui polling RPC
private-channel-operator-solanaMencetak token channel ketika deposit dikonfirmasi
private-channel-operator-private-channelMemanggil ReleaseFunds di Mainnet ketika penarikan dikonfirmasi
private-channel-authLayanan JWT/RBAC opsional (profil Docker: auth)

Container observabilitas (prometheus, grafana, cadvisor) juga disertakan.

Gateway

Nilai default yang wajar telah tersedia untuk pengaturan Docker Compose devnet. Timpa hanya jika menjalankan gateway di luar Docker atau melakukan deployment ke produksi.

Variabel EnvDefaultWajibDeskripsi
GATEWAY_PORT8899 (devnet)TidakPort yang didengarkan
GATEWAY_WRITE_URLhttp://write-node:8900 (nilai file env devnet; tidak ada default biner)YaURL node tulis - rute sendTransaction ke sini
GATEWAY_READ_URLhttp://read-node:8901 (nilai file env devnet; tidak ada default biner)YaURL node baca - semua metode RPC lainnya diarahkan ke sini
GATEWAY_CORS_ALLOWED_ORIGIN*TidakNilai header Access-Control-Allow-Origin
JWT_SECRET-TidakMengaktifkan RBAC; harus cocok dengan JWT_SECRET layanan auth
AUTH_DATABASE_URL-Jika JWT_SECRET diaturDB Auth untuk pemeriksaan kepemilikan dompet
AUTH_DATABASE_MAX_CONNECTIONS10TidakUkuran connection pool DB Auth
METRICS_PORT9101TidakPort metrik Prometheus
RUST_LOGinfoTidakLevel log

GATEWAY_WRITE_URL dan GATEWAY_READ_URL menggunakan nama host layanan Docker Compose (write-node, read-node) saat berjalan di dalam Docker. Gunakan padanan localhost hanya ketika menjalankan biner gateway secara langsung di luar Docker.

Default bawaan biner gateway untuk GATEWAY_PORT adalah 8898. .env.example dan .env.devnet keduanya menetapkannya ke 8899, yang merupakan nilai yang sebenarnya digunakan oleh pengaturan Docker Compose (versions.env hanya menyimpan pin versi toolchain dan image, bukan port layanan). Default 8898 hanya berlaku jika Anda menjalankan biner secara langsung tanpa file env.

GATEWAY_CORS_ALLOWED_ORIGIN secara default bernilai *, yang mengizinkan origin mana pun untuk memanggil gateway dari browser. Batasi ini ke origin aktual aplikasi Anda sebelum deployment produksi apa pun.

Node Tulis dan Node Baca

Referensi konfigurasi lengkap untuk node tulis dan node baca terdapat di docs/CONFIG.md dalam repositori.

Layanan Auth

Variabel EnvWajibDeskripsi
JWT_SECRETYaRahasia penandatanganan HS256; harus cocok dengan JWT_SECRET gateway
AUTH_PORTTidak (default 8903)Port yang didengarkan
AUTH_DATABASE_URLYaString koneksi PostgreSQL untuk database auth
CORS_ALLOWED_ORIGINTidak (default *)Nilai header Access-Control-Allow-Origin untuk layanan ini (independen dari GATEWAY_CORS_ALLOWED_ORIGIN milik gateway)
AUTH_DATABASE_MAX_CONNECTIONSTidak (default 10)Ukuran connection pool DB Auth

Referensi Port Layanan

LayananPort HostBinding
Gateway8899Semua antarmuka
Node tulis8900Hanya loopback
Node baca8901Hanya loopback
Streamer8902Hanya internal (expose, tidak dipublikasikan ke host); bukan bagian dari stack devnet
Layanan Auth8903Semua antarmuka
Metrik operator9102, 9103Semua antarmuka
Grafana37429Semua antarmuka
Prometheus9090Semua antarmuka
cAdvisor8080Semua antarmuka

Catatan keamanan: Port node tulis dan node baca terikat ke loopback (127.0.0.1) saja. Gateway, layanan Auth, metrik operator, Grafana, Prometheus, dan cAdvisor semuanya dipublikasikan ke setiap antarmuka jaringan dalam pengaturan Docker Compose devnet. Lindungi dengan firewall di tingkat host atau jaringan untuk penggunaan apa pun di luar pengembangan lokal; RBAC hanya mencakup metode JSON-RPC milik gateway itu sendiri, bukan layanan lainnya. Streamer adalah pengecualian: ini adalah feed internal yang tidak terautentikasi dan tidak pernah dipublikasikan ke host oleh Docker.

Persyaratan Jaringan

Lihat docs/TECHNICAL_REQUIREMENTS.md dalam repositori untuk aturan firewall dan persyaratan bandwidth.

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.