Railwayは、自動SSL、ドメイン管理、組み込み監視機能を備えた、Koraノードの簡単なデプロイ体験を提供します。このガイドでは、シンプルなDockerイメージとRailway CLIを使用して、RailwayでKoraノードをセットアップする手順を説明します。
前提条件
- Railwayアカウント
- Railway CLIのインストール
- 秘密鍵作成用のSolana CLI
- Solana RPCエンドポイント
ステップ1:デプロイファイルの準備
Koraノード用の新しいディレクトリを作成します:
mkdir my-kora-nodecd my-kora-node
サンプルファイルをディレクトリに追加します:
ディレクトリは次のようになります:
my-kora-node/├── kora.toml├── signers.toml└── Dockerfile
ステップ2:Railwayへのデプロイ
プロジェクトディレクトリから、Railwayにログインします
# Login to Railwayrailway login
画面の指示に従って、アカウントでログインしてください。
ディレクトリ内でRailwayプロジェクトを初期化します。
railway init
Railwayから次の操作を求められます:
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択
- プロジェクト名を選択(例:「my-kora-node」)
アプリケーションのデプロイ
# Deploy the applicationrailway up
これにより、次の処理が実行されます:
- ファイルをRailwayにアップロード
- Dockerイメージをビルド
- アプリケーションをデプロイ
期待される出力:
Build time: 121.81 secondsDeploy completeStarting Container
素晴らしい!セットアップが完了しました!おそらくログにエラーが表示されていることに気づくでしょう("error:
a value is required for --rpc-url <RPC_URL> but none was supplied
")。これは、まだ環境変数を設定していないためです。次にそれを設定しましょう。
ステップ 3: 環境変数の設定
railway.appでRailwayダッシュボードを開き、プロジェクトに移動します。プロジェクト内で「Settings」>「Variables」をクリックします
Koraの Railway 環境変数
以下の環境変数を追加します:
| 変数名 | 値 | 説明 |
|---|---|---|
RPC_URL | https://api.mainnet-beta.solana.com | Solana RPCエンドポイント |
KORA_PRIVATE_KEY | your-base58-private-key | Solanaプライベートキー(base58形式) |
RUST_LOG | info | デバッグ用のログレベル |
セキュリティ警告:プライベートキーは手数料の支払いに使用するSOLへのアクセス権を持っています。Koraノード専用のkeypairを使用し、トランザクション手数料として使用しても問題のないSOLのみを入金してください。署名者の詳細については、 署名者ガイドを参照してください。
プライベートキーの取得
新しいkeypairを作成する必要がある場合:
# Generate new keypairsolana-keygen new --outfile ~/.config/solana/kora-keypair.json
テスト/ノード運用に十分なSOLを必ず入金してください。
ステップ 4: 再デプロイ
変数を保存すると、サーバーの再デプロイを求められます。実行してください。
ステップ 5: デプロイのテスト
公開エンドポイントの生成
エンドポイントにリクエストを送信するには、公開ドメインを生成する必要があります。デプロイメントから「Settings」>「Generate domain」に移動します。
Railway ドメイン設定
デフォルトポート「8080」を使用し、「Generate Domain」をクリックします。
https://my-kora-node.railway.app/ のようなドメインを取得する必要があります
テスト設定エンドポイント
curl -X POST https://my-kora-node.railway.app \-H "Content-Type: application/json" \-d '{"jsonrpc":"2.0","id":1,"method":"getConfig","params":[]}' | jq
期待されるレスポンス:
{"jsonrpc": "2.0","id": 1,"result": {"fee_payer": "YourPublicKeyHere...","validation_config": {"max_allowed_lamports": 1000000,"allowed_programs": [...],"allowed_spl_paid_tokens": [...]// ...}}}
お疲れ様でした! Koraノードが正常に稼働しています。
サポートが必要ですか?
- Koraノードオペレーターガイド - よくある問題と解決策
- Railwayドキュメント - プラットフォーム固有のヘルプ
- GitHub Issues - バグ報告やサポート
- Solana Stack Exchange - 質問や知見の共有(
koraタグを必ず使用してください)
Is this page helpful?