Solana Testnet Validator - Schnellstart
Installation und Validierung
bash
curl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deploycurl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deploySolana Testnet Firedancer Validator einsetzen
🚀 Voraussetzungen
Bitte erstellen Sie einen Server mit Ubuntu 24.04 LTS sauber installiert.
🔑 Über Schlüsselhandling
Für neue SLV Firedancer-Einsätze wird unstaked-keypair.json immer als Identitätsschlüssel verwendet, der ursprünglich für Sicherheit verwendet wird.
Dies ist eine beste Praxis, um kritische Themen wie Doppelabstimmung zu verhindern.
✅ Identitätseinstellung nach Bereitstellung
Nach der Bereitstellung stellen Sie sicher, dass Sie den berechtigten Identitätsschlüssel mit dem folgenden Befehl festlegen:
bash
slv v set:identity -n testnet --pubkey <name>slv v set:identity -n testnet --pubkey <name>Erstellung eines Bare Metal Servers für Testnet
Während es möglich ist, Solana-Knoten auf VPS oder virtuellen Maschinen (VM) zu betreiben, ist das Erreichen einer optimalen Leistung und Stabilität in der Praxis schwierig. Solana empfiehlt offiziell, Bare Metal-Server zu verwenden, die viel höhere Leistung liefern als virtualisierte Umgebungen.
Da Testnet-Umgebungen im Vergleich zu Mainnet niedriger sind, haben wir einen stabilen Betrieb mit Servern mit 16-Core Ryzen CPU und 128 GB bestätigt. DDR5 RAM. Die Verwendung dieser Serverkonfiguration hilft, die Betriebskosten zu reduzieren, so dass es empfohlen wird.
Wenn Sie die
slv v init Befehl, Sie werden gefragt, ob Ihr Bare Metal Server bereits eingerichtet ist:bash
➜ slv v init
? Select Solana Network (testnet) › testnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
no➜ slv v init
? Select Solana Network (testnet) › testnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
noDieses Tutorial übernimmt die Auswahl
yes.Wenn Sie Ihren Bare Metal Server noch nicht vorbereitet haben, lesen Sie bitte die Bare Metal Server Setup Guide um das Setup abzuschließen.
Benutzername des Eingabeservers
Die meisten der Zeit, der Standard-Benutzername ist
ubuntu oder root.bash
? What's the user for the server? (ubuntu) › ubuntu? What's the user for the server? (ubuntu) › ubuntuIP-Adresse des Eingabeservers
Geben Sie die IP-Adresse des Servers ein.
bash
? What's the IP address of the server? ›? What's the IP address of the server? ›Set RSA Schlüssel für SSH
Bitte setzen Sie den Pfad zu Ihrem RSA-Schlüssel. Der Standardpfad ist
~/.ssh/id_rsa.
Derzeit wird nur der Standardpfad unterstützt, so setzen Sie es bitte wie es ist.bash
? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa
🔍 Checking SSH connection...
✔︎ SSH connection succeeded? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa
🔍 Checking SSH connection...
✔︎ SSH connection succeededDann wird SLV die Verbindung zum Server überprüfen. Wenn die Verbindung erfolgreich ist, wird der nächste Schritt ausgelöst.
Wählen Sie Solana-Validator Typ
Wählen Sie die Art des Solana-Validators aus.
bash
? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
❯ firedancer-jito? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
❯ firedancer-jitoDen Solana-Validator Identity Key generieren oder einstellen
Sie können einen neuen Identitätsschlüssel generieren oder einen vorhandenen Identitätsschlüssel festlegen.
Dieses Beispiel zeigt, wie man einen vorhandenen Identitätsschlüssel mit dem Namen "epics-test" setzt.
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? 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.xBitte geben Sie Ihren Identitätsschlüssel an
~/.slv/keys/<your-pubkey>.json. Dann wird SLV die solv Nutzer mit einem Passwort.Automatische Regionserkennung
Als nächstes wird das System jede Block-Engine von Ihrem konfigurierten Knoten abschalten, um die nächste Region automatisch zu erkennen. Durch die Messung der tatsächlichen Pingwerte können Sie die optimale Region auswählen.
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📍 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.wtfDen Solana-Validator Vote Account Key generieren oder einstellen
Sie können einen neuen Votumkontoschlüssel erstellen oder einen bestehenden Votumkontoschlüssel festlegen.
Dieses Beispiel zeigt, wie man einen bestehenden Stimmkontoschlüssel einstellt.
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>? Do you want to create a new vote account key now? (Y/n) › No
? Please Enter Your Vote Account Public Key > <your-vote-account>Die Konfiguration wurde nun gespeichert, um
~/.slv/inventory.testnet.validators.yml.Validator einsetzen
Sobald Sie die Konfiguration bestätigen, beginnt die Bereitstellung.
bash
slv v deploy -n testnetslv v deploy -n testnetZunächst wird die Konfigurationsbestätigung angezeigt.
Wählen Sie Ja, um fortzufahren.
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) › YesYour 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) › YesEs ist erledigt! Ihr Solana-Validator wird jetzt eingesetzt. Es dauert einige Zeit, um mit dem Solana-Netzwerk zu synchronisieren.
Debugging & Monitoring
Nach dem Einsatz können Sie im Solana-RPC-Knoten debuggen und überwachen.
Sie können den Status des Solana-RPC-Knotens mit folgenden Befehlen überprüfen:
bash
$ solv m$ solv msolv ist ein Alias für agave-validator -l /mnt/ledger.
Diese Einstellung wird hinzugefügt ~/.profile während des RPC-Knoteneinsatzes.Änderung des Identitätsschlüssels
Nach der Bereitstellung müssen Sie den nicht übernommenen Schlüssel zum autorisierten Identitätsschlüssel ändern.
bash
slv v set:identity -n testnet --pubkey epics-testslv v set:identity -n testnet --pubkey epics-testDieser Befehl stellt den Identitätsschlüssel von Ihrem lokalen Computer an:
~/.slv/keys/<name>.jsonRestart Firedancer
Wenn Sie Probleme mit dem Validator haben, können Sie Firedancer mit dem folgenden Befehl neu starten.
Die
--rm Option stoppt den Validierungs-, entfernen Sie die Führung und Snapshot-Verzeichnisse, laden Sie einen Snapshot mit dem Snapshot-Finder herunter und starten Sie dann den Validierungs-Entscheider.bash
slv v restart -n testnet --pubkey <name> --rmslv v restart -n testnet --pubkey <name> --rmSLV Validator Befehle
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 Migrationslv 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