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 deploycurl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deployEen 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>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β slv v init
? Select Solana Network (testnet) βΊ testnet
? π‘οΈ Do you have a Solana Node Compatible Server? (no)
β― yes
noDeze 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? What's the user for the server? (ubuntu) βΊ ubuntuIP-adres van de server invoeren
Voer het IP-adres van de server in.
bash
? What's the IP address of the server? βΊ? 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? What's the path to your RSA key? (~/.ssh/id_rsa) βΊ ~/.ssh/id_rsa
π Checking SSH connection...
βοΈ SSH connection succeededDaarna 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? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
β― firedancer-jitoIdentity 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? 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.xPlaats 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π 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.wtfVote 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>? 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 testnetslv v deploy -n testnetEerst 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) βΊ 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) βΊ YesKlaar! 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 msolv 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-testslv v set:identity -n testnet --pubkey epics-testDit commando stelt de identity key in die op je lokale computer op de volgende locatie staat:
~/.slv/keys/<name>.jsonFiredancer 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> --rmslv v restart -n testnet --pubkey <name> --rmSLV-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 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