Solana Testnet Validator - Schnellstart

Installation und Validierung

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

Solana 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>

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
Dieses 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

IP-Adresse des Eingabeservers

Geben Sie die IP-Adresse des Servers ein.
bash
? 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
Dann 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

Den 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
Bitte 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

Den 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>
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 testnet
Zunä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) › Yes
Es 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 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-test
Dieser Befehl stellt den Identitätsschlüssel von Ihrem lokalen Computer an:
~/.slv/keys/<name>.json

Restart 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> --rm

SLV 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 Migration