Layanan
Menjalankan instans Private Channels berarti mengelola layanan-layanan Docker Compose berikut:
| Container | Peran |
|---|---|
private-channel-postgres-primary | Database status node tulis (PostgreSQL 16) |
private-channel-postgres-replica | Database status node baca (streaming replica) |
private-channel-postgres-indexer | Database indexer dan operator |
private-channel-write-node | Menerima dan mengeksekusi transaksi (port 8900, hanya loopback) |
private-channel-read-node | Menangani kueri baca RPC (port 8901, hanya loopback) |
private-channel-gateway | Merutekan permintaan antara node tulis dan baca; menerapkan RBAC (port 8899) |
private-channel-indexer-solana | Memantau Solana untuk event Deposit melalui Yellowstone gRPC |
private-channel-indexer-private-channel | Memantau channel untuk event Burn melalui polling RPC |
private-channel-operator-solana | Mencetak token channel ketika deposit dikonfirmasi |
private-channel-operator-private-channel | Memanggil ReleaseFunds di Mainnet ketika penarikan dikonfirmasi |
private-channel-auth | Layanan 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 Env | Default | Wajib | Deskripsi |
|---|---|---|---|
GATEWAY_PORT | 8899 (devnet) | Tidak | Port yang didengarkan |
GATEWAY_WRITE_URL | http://write-node:8900 (nilai file env devnet; tidak ada default biner) | Ya | URL node tulis - rute sendTransaction ke sini |
GATEWAY_READ_URL | http://read-node:8901 (nilai file env devnet; tidak ada default biner) | Ya | URL node baca - semua metode RPC lainnya diarahkan ke sini |
GATEWAY_CORS_ALLOWED_ORIGIN | * | Tidak | Nilai header Access-Control-Allow-Origin |
JWT_SECRET | - | Tidak | Mengaktifkan RBAC; harus cocok dengan JWT_SECRET layanan auth |
AUTH_DATABASE_URL | - | Jika JWT_SECRET diatur | DB Auth untuk pemeriksaan kepemilikan dompet |
AUTH_DATABASE_MAX_CONNECTIONS | 10 | Tidak | Ukuran connection pool DB Auth |
METRICS_PORT | 9101 | Tidak | Port metrik Prometheus |
RUST_LOG | info | Tidak | Level log |
GATEWAY_WRITE_URLdanGATEWAY_READ_URLmenggunakan nama host layanan Docker Compose (write-node,read-node) saat berjalan di dalam Docker. Gunakan padananlocalhosthanya ketika menjalankan biner gateway secara langsung di luar Docker.Default bawaan biner gateway untuk
GATEWAY_PORTadalah8898..env.exampledan.env.devnetkeduanya menetapkannya ke8899, yang merupakan nilai yang sebenarnya digunakan oleh pengaturan Docker Compose (versions.envhanya menyimpan pin versi toolchain dan image, bukan port layanan). Default8898hanya 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 Env | Wajib | Deskripsi |
|---|---|---|
JWT_SECRET | Ya | Rahasia penandatanganan HS256; harus cocok dengan JWT_SECRET gateway |
AUTH_PORT | Tidak (default 8903) | Port yang didengarkan |
AUTH_DATABASE_URL | Ya | String koneksi PostgreSQL untuk database auth |
CORS_ALLOWED_ORIGIN | Tidak (default *) | Nilai header Access-Control-Allow-Origin untuk layanan ini (independen dari GATEWAY_CORS_ALLOWED_ORIGIN milik gateway) |
AUTH_DATABASE_MAX_CONNECTIONS | Tidak (default 10) | Ukuran connection pool DB Auth |
Referensi Port Layanan
| Layanan | Port Host | Binding |
|---|---|---|
| Gateway | 8899 | Semua antarmuka |
| Node tulis | 8900 | Hanya loopback |
| Node baca | 8901 | Hanya loopback |
| Streamer | 8902 | Hanya internal (expose, tidak dipublikasikan ke host); bukan bagian dari stack devnet |
| Layanan Auth | 8903 | Semua antarmuka |
| Metrik operator | 9102, 9103 | Semua antarmuka |
| Grafana | 37429 | Semua antarmuka |
| Prometheus | 9090 | Semua antarmuka |
| cAdvisor | 8080 | Semua 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?