Solana テストネット バリデータ - クイックスタート

Installation & Validator Launch

bash
curl -fsSL https://storage.slv.dev/slv/install | sh slv validator init slv validator deploy

Solana テストネットに Firedancer バリデータをデプロイ

🚀 事前準備 Ubuntu 24.04 LTS のクリーンインストール済みサーバーを準備してください。
🔑 キーの取り扱いについて Firedancerの新規SLVデプロイでは、安全確保のため最初は常に unstaked-keypair.json がアイデンティティキーとして使用されます。
これは二重投票など重大な問題を防止するためのベストプラクティスです。
✅ デプロイ後のアイデンティティ設定 デプロイ後は必ず次のコマンドで認証済みのアイデンティティキーを設定してください:
bash
slv v set:identity -n testnet --pubkey <name>

テストネット向けベアメタルサーバーの準備

SolanaノードをVPSや仮想マシン(VM)で運用することも可能ですが、最適なパフォーマンスや安定性を得るのは難しいのが実情です。Solana公式でもベアメタルサーバーの使用を推奨しており、仮想化環境よりもはるかに高い性能を発揮します。
テストネット環境はメインネットに比べて負荷が低いため、私たちは16コアのRyzen CPUと128GBのDDR5 RAMを搭載したサーバーで安定した動作を確認しています。このサーバー構成を利用することで運用コストを抑えられるため、おすすめです。
slv v init コマンドを実行すると、ベアメタルサーバーがセットアップ済みかどうかを確認する質問が表示されます。
bash
➜ slv v init ? Select Solana Network (testnet) › testnet ? 🛡️ Do you have a Solana Node Compatible Server? (no) yes no
このチュートリアルでは yes を選択した場合を前提として進めます。
まだベアメタルサーバーを準備していない場合は、こちらのベアメタルサーバー導入ガイドを参照してセットアップを完了してください。

デフォルトのユーザー名を入力

通常、デフォルトのユーザー名は ubuntu または root であることが多いです。
bash
? What's the user for the server? (ubuntu) › ubuntu

サーバーの IP アドレスを入力

サーバーの IP アドレスを入力します。
bash
? What's the IP address of the server? ›

SSH 用の RSA キーを設定

※ ご自身の RSA キーのパスを設定してください。デフォルトのパスは ~/.ssh/id_rsa です。 現在はデフォルトパスのみサポートされているため、そのまま設定してください。
bash
? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa 🔍 Checking SSH connection... ✔︎ SSH connection succeeded
その後、SLV がサーバーへの接続をチェックします。接続が成功すると、次のステップへ進みます。

Solana バリデータタイプの選択

Solana バリデータのタイプを選択します。
bash
? Select Validator Type (firedancer-jito) agave jito firedancer-agave ❯ firedancer-jito

Solana バリデータのアイデンティティキーを生成または設定

新しいアイデンティティキーを生成するか、既存のアイデンティティキーを設定できます。 ここでは既存のアイデンティティキーを epics-test という名前で設定する例を示します。
bash
? Do you want to create a new identity key now? (Y/n) › No ? Please Enter Your Identity Public Key › TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp ? Enter Inventory Name (TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp) › epics-test ⚠️ Please place your identity key in ~/.slv/keys/TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp.json . . ✔︎ Success ✔ Inventory updated to ~/.slv/inventory.yml ✔ Successfully created solv user on x.x.x.x
アイデンティティキーを ~/.slv/keys/<your-pubkey>.json に配置してください。その後、SLV がパスワードを用いて solv ユーザーを作成します。

最寄りのリージョンを自動検出

次に、設定するノードから各ブロックエンジンに対して Ping を実行し、最も近いリージョンを自動的に検出します。 Ping で実測値を計測することで、最適なリージョンを選択できます。
bash
📍 Measuring latencies from x.x.x.x to testnet regions... Pinging Dallas (dallas.testnet.block-engine.jito.wtf)... Pinging New York (ny.testnet.block-engine.jito.wtf)... ✅ New York: 74.341 ms ✅ Dallas: 114.722 ms 🎯 Nearest region: 🇺🇸 New York Latency: 74.341 ms Block Engine: https://ny.testnet.block-engine.jito.wtf Shred Receiver: 64.130.35.224:1002 Relayer: http://ny.testnet.relayer.jito.wtf:8100 NTP Server: ntp.dallas.jito.wtf

Solana バリデータの投票アカウントキーを生成または設定

新しい投票アカウントキーを生成するか、既存の投票アカウントキーを設定できます。 ここでは既存の投票アカウントキーを設定する例を示します。
bash
? Do you want to create a new vote account key now? (Y/n) › No ? Please Enter Your Vote Account Public Key > <your-vote-account>
これで設定内容が ~/.slv/inventory.testnet.validators.yml に保存されました。

バリデータのデプロイ

設定を確認したら、デプロイを開始します。
bash
slv v deploy -n testnet
最初に、設定内容の確認が表示されます。 Yes を選択して続行します。
bash
Your Testnet Validators Settings: ┌────────────────┬──────────────────────────────────────────────┐ │ Identity Key │ TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp │ ├────────────────┼──────────────────────────────────────────────┤ │ Vote Key │ 6XdQ6szHJjm1t3XbgahSS6WVEhsrs5fniZbLgfkN1QWn │ ├────────────────┼──────────────────────────────────────────────┤ │ Authority Key │ authAccount │ ├────────────────┼──────────────────────────────────────────────┤ │ IP │ x.x.x.x. │ ├────────────────┼──────────────────────────────────────────────┤ │ Validator Type │ jito │ ├────────────────┼──────────────────────────────────────────────┤ │ Version │ 3.0.7-jito │ └────────────────┴──────────────────────────────────────────────┘ ? Do you want to continue? (Y/n) › Yes
完了です!Solana バリデータがデプロイされました。Solana ネットワークとの同期には少し時間がかかります。

デバッグ・モニタリング

デプロイ後、Solana RPC ノード内でデバッグとモニタリングを行うことができます。 以下のコマンドを使用して、Solana RPC ノードの状態を確認できます。
bash
$ solv m
solvagave-validator -l /mnt/ledger のエイリアスです。 RPCノードデプロイ時に この設定が ~/.profile に追加されています。

アイデンティティキーの変更

デプロイ後、アンステーク済みのキーを認証済みのアイデンティティキーに変更する必要があります。
bash
slv v set:identity -n testnet --pubkey epics-test
このコマンドを実行すると、ローカルコンピューターにある以下のアイデンティティキーがバリデータノードに設定されます。
~/.slv/keys/<name>.json

Firedancer の再起動

バリデータに問題がある場合は、以下のコマンドで firedancer を再起動できます。
--rm オプションを使用すると、バリデータが停止し、ledger と snapshot ディレクトリが削除された後、snapshot finder でスナップショットをダウンロードしてからバリデータを起動します。
bash
slv v restart -n testnet --pubkey <name> --rm

SLV Validator コマンド

bash
slv validator --help Usage: slv validator Version: 0.9.700 Description: 🛠️ Manage Solana Validator Nodes 🛠️ Options: -h, --help - Show this help. Commands: init - 🚀 Initialize a new validator configuration deploy - 📦 Deploy Validators list - 📋 List validators set:identity - 🪪 Set Validator Identity set:unstaked - 📴 Set Validator Identity to Unstaked Key setup:firedancer - 🔥 Setup/Update Firedancer Validator update:firedancer - 🔄 Update Firedancer Version build:solana-cli - 🛠️ Build Solana CLI from Source install:solana - ➡️ Install Solana CLI Binary update:script - ⚙️ Update Validator Startup Config update:jinja - 🧩 Update Jinja Template start - 🟢 Start Validator stop - 🔴 Stop Validator restart - ♻️ Restart Validator cleanup - 🧹 Cleanup Validator - Remove Ledger/Snapshot Unnecessary Files get:snapshot - 💾 Download Snapshot with aria2c gen:vote-account - 🗳️ Generate Vote Account switch - 🔁 Switch Validator Identity - No DownTime Migration