Solana Testnet Validator - Snelstart

Installatie en het starten van de validator

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

Een Firedancer-validator deployen op het Solana-testnet

πŸš€ Vereisten Zorg voor een server met een schone installatie van Ubuntu 24.04 LTS.
πŸ”‘ Over het omgaan met keys Bij elke nieuwe deployment van Firedancer met SLV wordt om veiligheidsredenen in eerste instantie altijd unstaked-keypair.json als identity key gebruikt.
Dit is een best practice om kritieke problemen zoals dubbel stemmen te voorkomen.
βœ… Identity instellen na de deployment Stel na de deployment altijd de geautoriseerde identity key in met het volgende commando:
bash
slv v set:identity -n testnet --pubkey <name>

Een bare-metal server voorbereiden voor testnet

Solana-nodes kunnen op een VPS of virtuele machine (VM) draaien, maar in de praktijk is het lastig om zo optimale prestaties en stabiliteit te bereiken. Solana raadt officieel bare-metal servers aan, die veel betere prestaties leveren dan gevirtualiseerde omgevingen.
Omdat de belasting op testnet lager is dan op mainnet, hebben we vastgesteld dat servers met een Ryzen-CPU met 16 cores en 128GB DDR5 RAM stabiel draaien. Deze serverconfiguratie helpt de operationele kosten te verlagen en wordt daarom aanbevolen.
Wanneer je het commando slv v init uitvoert, wordt gevraagd of je bare-metal server al is ingericht:
bash
➜ slv v init
? Select Solana Network (testnet) β€Ί testnet
? πŸ›‘οΈ Do you have a Solana Node Compatible Server? (no)
❯ yes
  no
Deze tutorial gaat ervan uit dat je yes kiest.
Heb je je bare-metal server nog niet voorbereid, volg dan de handleiding voor het inrichten van een bare-metal server om de installatie af te ronden.

Standaardgebruikersnaam van de server invoeren

Meestal is de standaardgebruikersnaam ubuntu of root.
bash
? What's the user for the server? (ubuntu) β€Ί ubuntu

IP-adres van de server invoeren

Voer het IP-adres van de server in.
bash
? What's the IP address of the server? β€Ί

RSA-sleutel voor SSH instellen

β€» Geef het pad naar je RSA-sleutel op. Het standaardpad is ~/.ssh/id_rsa. Momenteel wordt alleen het standaardpad ondersteund, dus laat dit ongewijzigd.
bash
? What's the path to your RSA key? (~/.ssh/id_rsa) β€Ί ~/.ssh/id_rsa
πŸ” Checking SSH connection...
βœ”οΈŽ SSH connection succeeded
Daarna controleert SLV de verbinding met de server. Als de verbinding slaagt, verschijnt de volgende stap.

Type Solana-validator kiezen

Kies het type Solana-validator.
bash
? Select Validator Type (firedancer-jito)
  agave
  jito
  jito-bam
  firedancer-agave
❯ firedancer-jito

Identity key van de Solana-validator genereren of instellen

Je kunt een nieuwe identity key genereren of een bestaande identity key instellen. In dit voorbeeld zie je hoe je een bestaande identity key instelt met de naam "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
Plaats je identity key in ~/.slv/keys/<your-pubkey>.json. Daarna maakt SLV met een wachtwoord de solv-gebruiker aan.

Automatische regiodetectie

Vervolgens pingt het systeem vanaf je geconfigureerde node elke block engine om automatisch de dichtstbijzijnde regio te bepalen. Doordat de werkelijke pingwaarden worden gemeten, kun je de optimale regio kiezen.
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

Vote account key van de Solana-validator genereren of instellen

Je kunt een nieuwe vote account key genereren of een bestaande vote account key instellen. In dit voorbeeld zie je hoe je een bestaande vote account key instelt.
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>
De configuratie is nu opgeslagen in ~/.slv/inventory.testnet.validators.yml.

De validator deployen

Zodra je de configuratie bevestigt, start de deployment.
bash
slv v deploy -n testnet
Eerst wordt de configuratie ter bevestiging getoond. Kies Yes om door te gaan.
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
Klaar! Je Solana-validator is nu gedeployd. Het duurt even voordat hij gesynchroniseerd is met het Solana-netwerk.

Debuggen en monitoren

Na de deployment kun je binnen de Solana-RPC-node debuggen en monitoren. Met de volgende commando's kun je de status van de Solana-RPC-node controleren:
bash
$ solv m
solv is een alias voor agave-validator -l /mnt/ledger. Deze instelling wordt tijdens de deployment van de RPC-node aan ~/.profile toegevoegd.

De identity key wijzigen

Na de deployment moet je de unstaked key vervangen door de geautoriseerde identity key.
bash
slv v set:identity -n testnet --pubkey epics-test
Dit commando stelt de identity key in die op je lokale computer op de volgende locatie staat:
~/.slv/keys/<name>.json

Firedancer herstarten

Als er problemen zijn met de validator, kun je firedancer herstarten met het volgende commando.
De optie --rm stopt de validator, verwijdert de ledger- en snapshotmappen, downloadt een snapshot met de snapshot finder en start daarna de validator.
bash
slv v restart -n testnet --pubkey <name> --rm

SLV-validatorcommando's

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