配置参考

服务

运行 Private Channels 实例意味着需要管理以下 Docker Compose 服务:

容器角色
private-channel-postgres-primary写入节点状态数据库(PostgreSQL 16)
private-channel-postgres-replica读取节点状态数据库(流式副本)
private-channel-postgres-indexer索引器与运营商数据库
private-channel-write-node接收并执行交易(端口 8900,仅限回环)
private-channel-read-node处理 RPC 读取查询(端口 8901,仅限回环)
private-channel-gateway在写入节点与读取节点之间路由请求;执行 RBAC(端口 8899)
private-channel-indexer-solana通过 Yellowstone gRPC 监听 Solana 上的 Deposit 事件
private-channel-indexer-private-channel通过 RPC 轮询监听通道上的 Burn 事件
private-channel-operator-solana存款确认后铸造通道代币
private-channel-operator-private-channel提款确认后在主网调用 ReleaseFunds
private-channel-auth可选的 JWT/RBAC 服务(Docker 配置文件:auth)

可观测性容器(prometheus、grafana、cadvisor)也已 包含在内。

网关

以下配置对 devnet Docker Compose 环境提供了合理的默认值。仅在 网关运行于 Docker 之外或部署到生产环境时才需覆盖。

环境变量默认值必填描述
GATEWAY_PORT8899(devnet)否监听端口
GATEWAY_WRITE_URLhttp://write-node:8900(devnet 环境文件值;无二进制默认值)是写入节点 URL —— sendTransaction 请求路由至此
GATEWAY_READ_URLhttp://read-node:8901(devnet 环境文件值;无二进制默认值)是读取节点 URL —— 所有其他 RPC 方法路由至此
GATEWAY_CORS_ALLOWED_ORIGIN*否Access-Control-Allow-Origin 响应头值
JWT_SECRET-否启用 RBAC;必须与 auth 服务的 JWT_SECRET 一致
AUTH_DATABASE_URL-若已设置 JWT_SECRET用于钱包所有权校验的 Auth 数据库
AUTH_DATABASE_MAX_CONNECTIONS10否Auth 数据库连接池大小
METRICS_PORT9101否Prometheus 指标端口
RUST_LOGinfo否日志级别

GATEWAY_WRITE_URL 和 GATEWAY_READ_URL 在 Docker 中运行时使用 Docker Compose 服务 主机名(write-node、read-node)。仅在直接于 Docker 外部运行网关二进制文件时 才使用 localhost 等效地址。

网关二进制文件内置的 GATEWAY_PORT 默认值为 8898。 .env.example 和 .env.devnet 均将其设置为 8899,这也是 Docker Compose 实际使用的值(versions.env 仅保存工具链和 镜像版本固定值,不含服务端口)。8898 默认值仅在 不使用任何环境文件直接运行二进制文件时才生效。

GATEWAY_CORS_ALLOWED_ORIGIN 默认值为 *,允许任意来源从浏览器调用 网关。在任何生产部署前,请将其限制为您应用的实际来源。

写入节点与读取节点

完整的写入节点与读取节点配置参考请见仓库中的 docs/CONFIG.md。

Auth 服务

环境变量必填描述
JWT_SECRET是HS256 签名密钥;必须与网关的 JWT_SECRET 一致
AUTH_PORT否(默认 8903)监听端口
AUTH_DATABASE_URL是Auth 数据库的 PostgreSQL 连接字符串
CORS_ALLOWED_ORIGIN否(默认 *)此服务的 Access-Control-Allow-Origin 响应头值(独立于网关自身的 GATEWAY_CORS_ALLOWED_ORIGIN)
AUTH_DATABASE_MAX_CONNECTIONS否(默认 10)Auth 数据库连接池大小

服务端口参考

服务主机端口绑定方式
网关8899所有网络接口
写入节点8900仅限回环
读取节点8901仅限回环
Streamer8902仅限内部(expose,不发布到主机);不属于 devnet 技术栈
Auth 服务8903所有网络接口
运营商指标9102, 9103所有网络接口
Grafana37429所有网络接口
Prometheus9090所有网络接口
cAdvisor8080所有网络接口

安全提示: 写入节点和读取节点端口仅绑定到回环地址 (127.0.0.1)。网关、Auth 服务、运营商指标、Grafana、 Prometheus 和 cAdvisor 在 devnet Docker Compose 环境中均发布到所有网络接口。对于 本地开发以外的任何场景,请在主机或网络层面配置防火墙;RBAC 仅覆盖网关自身的 JSON-RPC 方法,不涵盖其他服务。Streamer 是例外:它是一个 未经身份验证的内部数据流,Docker 不会将其发布到主机。

网络要求

防火墙规则和带宽要求请参见仓库中的 docs/TECHNICAL_REQUIREMENTS.md。

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有