Tài liệu tham khảo cấu hình

Dịch vụ

Chạy một phiên bản Private Channels nghĩa là bạn sở hữu các dịch vụ Docker Compose sau đây:

ContainerVai trò
private-channel-postgres-primaryCơ sở dữ liệu trạng thái node ghi (PostgreSQL 16)
private-channel-postgres-replicaCơ sở dữ liệu trạng thái node đọc (bản sao streaming)
private-channel-postgres-indexerCơ sở dữ liệu cho indexer và operator
private-channel-write-nodeNhận và thực thi các giao dịch (cổng 8900, chỉ loopback)
private-channel-read-nodeXử lý các truy vấn đọc RPC (cổng 8901, chỉ loopback)
private-channel-gatewayĐịnh tuyến yêu cầu giữa các node ghi và đọc; thực thi RBAC (cổng 8899)
private-channel-indexer-solanaTheo dõi Solana để phát hiện sự kiện Deposit qua Yellowstone gRPC
private-channel-indexer-private-channelTheo dõi kênh để phát hiện sự kiện Burn qua RPC polling
private-channel-operator-solanaĐúc token kênh khi các khoản nạp tiền được xác nhận
private-channel-operator-private-channelGọi ReleaseFunds trên Mainnet khi các lệnh rút tiền được xác nhận
private-channel-authDịch vụ JWT/RBAC tùy chọn (Docker profile: auth)

Các container quan sát (prometheus, grafana, cadvisor) cũng được bao gồm.

Gateway

Các thiết lập này có giá trị mặc định hợp lý cho cấu hình Docker Compose devnet. Chỉ ghi đè nếu chạy gateway bên ngoài Docker hoặc triển khai lên môi trường production.

Biến môi trườngMặc địnhBắt buộcMô tả
GATEWAY_PORT8899 (devnet)KhôngCổng lắng nghe
GATEWAY_WRITE_URLhttp://write-node:8900 (giá trị file env devnet; không có giá trị mặc định nhị phân)CóURL node ghi - sendTransaction được định tuyến đến đây
GATEWAY_READ_URLhttp://read-node:8901 (giá trị file env devnet; không có giá trị mặc định nhị phân)CóURL node đọc - tất cả các phương thức RPC khác được định tuyến đến đây
GATEWAY_CORS_ALLOWED_ORIGIN*KhôngGiá trị header Access-Control-Allow-Origin
JWT_SECRET-KhôngBật RBAC; phải khớp với JWT_SECRET của dịch vụ auth
AUTH_DATABASE_URL-Nếu JWT_SECRET được đặtCơ sở dữ liệu auth để kiểm tra quyền sở hữu ví
AUTH_DATABASE_MAX_CONNECTIONS10KhôngKích thước connection pool của cơ sở dữ liệu auth
METRICS_PORT9101KhôngCổng metrics Prometheus
RUST_LOGinfoKhôngCấp độ log

GATEWAY_WRITE_URL và GATEWAY_READ_URL sử dụng tên hostname của dịch vụ Docker Compose (write-node, read-node) khi chạy trong Docker. Chỉ sử dụng localhost tương đương khi chạy binary gateway trực tiếp bên ngoài Docker.

Giá trị mặc định tích hợp sẵn của binary gateway cho GATEWAY_PORT là 8898. .env.example và .env.devnet đều đặt thành 8899, đây là giá trị mà cấu hình Docker Compose thực sự sử dụng (versions.env chỉ chứa các phiên bản toolchain và image, không chứa cổng dịch vụ). Giá trị mặc định 8898 chỉ áp dụng nếu bạn chạy binary trực tiếp mà không có file env.

GATEWAY_CORS_ALLOWED_ORIGIN mặc định là *, cho phép bất kỳ origin nào gọi gateway từ trình duyệt. Hãy giới hạn giá trị này về origin thực tế của ứng dụng trước khi triển khai lên môi trường production.

Node Ghi và Node Đọc

Tài liệu tham khảo đầy đủ về cấu hình node ghi và node đọc có trong docs/CONFIG.md trong repository.

Dịch vụ Auth

Biến môi trườngBắt buộcMô tả
JWT_SECRETCóKhóa ký HS256; phải khớp với JWT_SECRET của gateway
AUTH_PORTKhông (mặc định 8903)Cổng lắng nghe
AUTH_DATABASE_URLCóChuỗi kết nối PostgreSQL cho cơ sở dữ liệu auth
CORS_ALLOWED_ORIGINKhông (mặc định *)Giá trị header Access-Control-Allow-Origin cho dịch vụ này (độc lập với GATEWAY_CORS_ALLOWED_ORIGIN của gateway)
AUTH_DATABASE_MAX_CONNECTIONSKhông (mặc định 10)Kích thước connection pool của cơ sở dữ liệu auth

Tài liệu tham khảo cổng dịch vụ

Dịch vụCổng hostBinding
Gateway8899Tất cả giao diện mạng
Node ghi8900Chỉ loopback
Node đọc8901Chỉ loopback
Streamer8902Chỉ nội bộ (expose, không được publish ra host); không thuộc devnet stack
Dịch vụ Auth8903Tất cả giao diện mạng
Metrics operator9102, 9103Tất cả giao diện mạng
Grafana37429Tất cả giao diện mạng
Prometheus9090Tất cả giao diện mạng
cAdvisor8080Tất cả giao diện mạng

Lưu ý bảo mật: Các cổng của node ghi và node đọc được gắn với loopback (127.0.0.1) mà thôi. Gateway, dịch vụ Auth, metrics operator, Grafana, Prometheus và cAdvisor đều được publish ra tất cả giao diện mạng trong cấu hình Docker Compose devnet. Hãy thiết lập tường lửa ở cấp host hoặc mạng cho bất kỳ môi trường nào ngoài phát triển cục bộ; RBAC chỉ bảo vệ các phương thức JSON-RPC của chính gateway, không áp dụng cho các dịch vụ khác. Streamer là ngoại lệ: đây là một luồng nội bộ không xác thực mà Docker không bao giờ publish ra host.

Yêu cầu mạng

Xem docs/TECHNICAL_REQUIREMENTS.md trong repository để biết các quy tắc tường lửa và yêu cầu băng thông.

Is this page helpful?

Mục lục

Chỉnh sửa trang