設定リファレンス

サービス

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-nodeRPC 読み取りクエリを処理する(ポート 8901、ループバックのみ)
private-channel-gateway書き込みノードと読み取りノード間のリクエストをルーティングし、RBAC を適用する(ポート 8899)
private-channel-indexer-solanaYellowstone gRPC 経由で Solana の Deposit イベントを監視する
private-channel-indexer-private-channelRPC ポーリング経由でチャンネルの 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 を有効化する;認証サービスの JWT_SECRET と一致する必要がある
AUTH_DATABASE_URL-JWT_SECRET が設定されている場合ウォレット所有権チェック用の認証データベース
AUTH_DATABASE_MAX_CONNECTIONS10いいえ認証データベースの接続プールサイズ
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 のデフォルトは、env ファイルなしでバイナリを直接実行した場合にのみ適用されます。

GATEWAY_CORS_ALLOWED_ORIGIN のデフォルトは * であり、あらゆるオリジンからブラウザ経由でゲートウェイを呼び出せるようになっています。本番環境へデプロイする前に、アプリケーションの実際のオリジンに制限してください。

書き込みノードと読み取りノード

書き込みノードと読み取りノードの完全な設定リファレンスは、リポジトリ内の docs/CONFIG.md にあります。

認証サービス

環境変数必須説明
JWT_SECRETはいHS256 署名シークレット;ゲートウェイの JWT_SECRET と一致する必要がある
AUTH_PORTいいえ(デフォルト 8903)リッスンポート
AUTH_DATABASE_URLはい認証データベース用の PostgreSQL 接続文字列
CORS_ALLOWED_ORIGINいいえ(デフォルト *)このサービスの Access-Control-Allow-Origin ヘッダーの値(ゲートウェイ自身の GATEWAY_CORS_ALLOWED_ORIGIN とは独立)
AUTH_DATABASE_MAX_CONNECTIONSいいえ(デフォルト 10)認証データベースの接続プールサイズ

サービスポートリファレンス

サービスホストポートバインディング
ゲートウェイ8899すべてのインターフェース
書き込みノード8900ループバックのみ
読み取りノード8901ループバックのみ
ストリーマー8902内部のみ(expose、ホストには公開されない);devnet スタックには含まれない
認証サービス8903すべてのインターフェース
オペレーターメトリクス9102、9103すべてのインターフェース
Grafana37429すべてのインターフェース
Prometheus9090すべてのインターフェース
cAdvisor8080すべてのインターフェース

セキュリティに関する注意: 書き込みノードと読み取りノードのポートはループバック (127.0.0.1)にのみバインドされています。ゲートウェイ、認証サービス、オペレーターメトリクス、Grafana、 Prometheus、および cAdvisor はすべて、devnet Docker Compose セットアップではすべてのネットワークインターフェースに公開されています。ローカル開発以外の用途では、ホストまたはネットワークレベルでファイアウォールを設定してください。RBAC はゲートウェイ自身の JSON-RPC メソッドのみをカバーしており、これらの他のサービスはカバーしません。ストリーマーは例外で、Docker がホストに公開しない未認証の内部フィードです。

ネットワーク要件

ファイアウォールルールおよび帯域幅要件については、リポジトリ内の docs/TECHNICAL_REQUIREMENTS.md を参照してください。

Is this page helpful?

目次

ページを編集
© 2026 Solana Foundation. 無断転載を禁じます。