Solana 測試網驗證者 - 快速入門

安裝與驗證者啟動

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

部署 Solana 測試網 Firedancer 驗證者

🚀 前提條件 請準備一臺全新安裝了 Ubuntu 24.04 LTS 的伺服器。
🔑 關於金鑰處理 對於新的 SLV Firedancer 部署,出於安全考慮,unstaked-keypair.json 始終作為初始身份金鑰使用。
這是防止雙重投票等嚴重問題的最佳實踐。
✅ 部署後的身份設定 部署後,請務必使用以下命令設定授權身份金鑰:
bash
slv v set:identity -n testnet --pubkey <name>

為測試網準備裸金屬伺服器

雖然可以在 VPS 或虛擬機器(VM)上執行 Solana 節點,但在實踐中實現最佳效能和穩定性具有挑戰性。Solana 官方推薦使用裸金屬伺服器,其效能遠高於虛擬化環境。
由於測試網環境的負載低於主網,我們已確認使用配備 16 核 Ryzen CPU 和 128GB DDR5 記憶體的伺服器可以穩定執行。使用此伺服器配置有助於降低運營成本,因此推薦使用。
執行 slv v init 命令時,系統會詢問您的裸金屬伺服器是否已準備就緒:
bash
 slv v init
? Select Solana Network (testnet) › testnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
 yes
  no
本教程假設您選擇 yes
如果您尚未準備裸金屬伺服器,請參閱裸金屬伺服器設定指南完成設定。

輸入伺服器預設使用者名稱

大多數情況下,預設使用者名稱為 ubunturoot
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
  jito-bam
  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 選項將停止驗證者,刪除賬本和快照目錄,使用快照查詢器下載快照,然後啟動驗證者。
bash
slv v restart -n testnet --pubkey <name> --rm

SLV 驗證者命令

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