Solana メインネット バリデータ - クイックスタート
はじめに
Solana メインネット バリデータのデプロイには、SLV コマンドラインツールを使用します。
このクイックスタートではメインネットバリデーターのスペアを起動し、デプロイする方法を説明します。
サーバーには Ubuntu 24.04 LTS がクリーンインストールされている必要があります。
ベアメタルサーバーの準備
SolanaのノードをVPSや仮想マシン(VM)で立ち上げることも可能ですが、十分なパフォーマンスや安定稼働を期待するのは難しいです。
Solana公式でもベアメタルサーバーの利用を推奨しています。
メインネットバリデータは、混雑時でも安定稼働できる構成が前提です。
以下は Solana / Agave / Firedancer の公式ドキュメントを元に整理した目安です。
以下は Solana / Agave / Firedancer の公式ドキュメントを元に整理した目安です。
Agave Validator(公式要件・推奨)
SOL 要件
- 厳密な最低 SOL 要件はありません
- Vote Account に rent-exempt として 0.02685864 SOL が必要です
- 投票トランザクションにより 最大 ~1.1 SOL / 日 のコストが発生します
ハードウェア要件(目安)
| Component | Validator | RPC Node(参考) |
|---|---|---|
| CPU | 2.8GHz 以上 / AMD Gen3+ / Intel Ice Lake+ / SHA extensions / AVX2 | 16 cores / 32 threads+ |
| RAM | 256GB+ | 512GB+ |
| Disk | NVMe Gen3 x4 以上 / Accounts・Ledger・Snapshots 分離推奨 | より大容量推奨 |
| GPU | 不要 | 不要 |
Note:
コア数よりもクロックと実効スループットが重要とされています。
Firedancer(Frankendancer)
Firedancer(Frankendancer)は現在 Agave に依存するため、
少なくとも Agave の推奨構成以上が前提となります。
少なくとも Agave の推奨構成以上が前提となります。
Minimum
- 24-core CPU @ >2.8GHz
- 256GB RAM
- 2TB NVMe(High TBW)
Recommended
- 32-core CPU @ >3GHz(AVX512 対応)
- 512GB RAM(ECC)
- Accounts / Ledger 分離
- 1Gbps 以上のネットワーク帯域
コストパフォーマンスの観点では、Agave を選択して 24コアCPU、384GB RAMの構成がバランスの良い目安です。
slv v init コマンドを実行すると、ベアメタルサーバーがセットアップ済みかどうかを確認する質問が表示されます。このチュートリアルでは
yes を選択した場合を前提として進めます。まだベアメタルサーバーを準備していない場合は、こちらのベアメタルサーバー導入ガイドを参照してセットアップしてください。
また、以下の記事もご参考ください。
Solana メインネット Firedancer Jito バリデーターのデプロイ
新しい SLV デプロイでは、常に unstaked-keypair.json がアイデンティティキーとして使用されます。
これは二重投票などを防ぐためのベストプラクティスです。
そのため、デプロイ後に
slv v set:identity を使用して認証済みのアイデンティティキーをセットしてください。メインネットバリデーター運用の場合、ほとんどの場合
slv v switch を使用してアイデンティティキーを変更します。
ノーダウンタイムマイグレーションについては、こちらのガイドを参照してください。Solana ネットワークを選択
デプロイしたい Solana ネットワークを選択します。
デフォルトのユーザー名を入力
通常、デフォルトのユーザー名は
ubuntu または root であることが多いです。サーバーの IP アドレスを入力
サーバーの IP アドレスを入力します。
SSH 用の RSA キーを設定
※ ご自身の RSA キーのパスを設定してください。デフォルトのパスは
~/.ssh/id_rsa です。その後、SLV がサーバーへの接続をチェックします。接続が成功すると、次のステップへ進みます。
Solana バリデータタイプの選択
Solana バリデータのタイプを選択します。
コミッションレートの設定
バリデータのコミッションレートを設定します。
※ 1000の場合は 10% になります。
Solana バリデータのアイデンティティキーを生成または設定
新しいアイデンティティキーを生成するか、既存のアイデンティティキーを設定できます。
ここでは既存のアイデンティティキーを
epics-sub という名前で設定する例を示します。アイデンティティキーを
~/.slv/keys/<your-pubkey>.json に配置してください。最寄りのリージョンを自動検出
次に、設定するノードから各ブロックエンジンに対して Ping を実行し、最も近いリージョンを自動的に検出します。 Ping で実測値を計測することで、最適なリージョンを選択できます。
Solana バリデータの投票アカウントキーを生成または設定
新しい投票アカウントキーを生成するか、既存の投票アカウントキーを設定できます。
ここでは既存の投票アカウントキーを設定する例を示します。
そしてバリデーターノードの情報は
~/.slv/inventory.mainnet.validators.yml に保存されます。バリデータのデプロイ
設定を確認したら、デプロイを開始します。
完了です!Solana バリデータがデプロイされました。Solana ネットワークとの同期には少し時間がかかります。
デバッグ・モニタリング
デプロイ後、Solana RPC ノード内でデバッグとモニタリングを行うことができます。
以下のコマンドを使用して、Solana RPC ノードの状態を確認できます。
solv は agave-validator -l /mnt/ledger のエイリアスです。
RPCノードデプロイ時に この設定が ~/.profile に追加されています。アイデンティティキーの変更
デプロイ後、アンステーク済みのキーを認証済みのアイデンティティキーに変更する必要があります。
このコマンドにより、アイデンティティキーが認証済みのキーに変更されます。
※ノーダウンタイムマイグレーションを行う場合は、こちらのガイドを参照してください。