validateur Solana testnet - Quickstart
Installation & Validateur Lancement
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 deployDéployer Solana Testnet Firedancer Validateur
Préalables
Veuillez préparer un serveur avec Ubuntu 24.04 LTS installé correctement.
À propos de la manipulation des clés
Pour les nouveaux déploiements de SLV Firedancer, Unstaked-keypair.json est toujours utilisé comme clé d'identité au départ pour la sécurité.
Il s'agit d'une pratique exemplaire pour éviter des problèmes critiques comme le double vote.
Définition de l'identité après le déploiement
Après le déploiement, assurez-vous de définir la clé d'identité autorisée avec la commande suivante:
bash
slv v set:identity -n testnet --pubkey <name>slv v set:identity -n testnet --pubkey <name>Préparation d'un serveur bare metal pour Testnet
Bien qu'il soit possible d'exécuter des nœuds Solana sur des VPS ou des machines virtuelles (VM), obtenir des performances et une stabilité optimales est difficile dans la pratique. Solana recommande officiellement d'utiliser des serveurs bare metal, qui offrent des performances beaucoup plus élevées que les environnements virtualisés.
Étant donné que les environnements testnet ont une charge inférieure par rapport à Mainnet, nous avons confirmé un fonctionnement stable en utilisant des serveurs avec CPU Ryzen 16 cœurs et 128 Go de RAM DDR5. L'utilisation de cette configuration de serveur permet de réduire les coûts opérationnels, il est donc recommandé.
Quand vous lancez
slv v init commande, on vous demandera si votre serveur bare metal est déjà configuré: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
noCe tutoriel suppose que vous sélectionnez
yes.Si vous n'avez pas encore préparé votre serveur bare metal, veuillez vous référer au Guide de configuration du serveur bare metal pour terminer l'installation.
Nom d'utilisateur par défaut du serveur d'entrée
La plupart du temps, le nom d'utilisateur par défaut est
ubuntu ou root.bash
? What's the user for the server? (ubuntu) › ubuntu? What's the user for the server? (ubuntu) › ubuntuAdresse IP du serveur d'entrée
Saisissez l'adresse IP du serveur.
bash
? What's the IP address of the server? ›? What's the IP address of the server? ›Définir la clé RSA pour SSH
Veuillez définir le chemin vers votre clé RSA. Le chemin par défaut est
~/.ssh/id_rsa.
Actuellement, seul le chemin par défaut est pris en charge.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 succeededEnsuite, SLV vérifiera la connexion au serveur. Si la connexion est réussie, la prochaine étape sera déclenchée.
Sélectionner le type de validation de Solana
Sélectionnez le type de validateur Solana.
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-jitoGénérer ou définir la clé de validation de Solana
Vous pouvez générer une nouvelle clé d'identité ou définir une clé d'identité existante.
Cet exemple montre comment définir une clé d'identité existante avec le nom «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.xVeuillez placer votre clé d'identité dans
~/.slv/keys/<your-pubkey>.json. Ensuite, SLV va créer le solv utilisateur utilisant un mot de passe.Détection automatique de la région
Ensuite, le système ping chaque moteur de bloc de votre nœud configuré pour détecter automatiquement la région la plus proche. En mesurant les valeurs réelles de ping, vous pouvez sélectionner la région optimale.
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.wtfGénérer ou définir la clé du compte de vote Solana Validator
Vous pouvez générer une nouvelle clé de compte de vote ou définir une clé de compte de vote existante.
Cet exemple montre comment définir une clé de compte de vote existante.
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>La configuration a maintenant été enregistrée dans
~/.slv/inventory.testnet.validators.yml.Déployer le Validateur
Une fois la configuration confirmée, le déploiement commencera.
bash
slv v deploy -n testnetslv v deploy -n testnetTout d'abord, la confirmation de configuration sera affichée.
Sélectionnez Oui pour continuer.
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) › YesC'est fait! Votre Solana Validator est maintenant déployé. Il faudra du temps pour synchroniser avec le réseau Solana.
Débogue et surveillance
Après le déploiement, vous pouvez déboguer et surveiller dans le nœud RPC Solana.
Vous pouvez vérifier l'état du nœud RPC Solana en utilisant les commandes suivantes:
bash
$ solv m$ solv msolv est un pseudonyme pour agave-validator -l /mnt/ledger.
Cet endpoint est ajouté à ~/.profile pendant le déploiement du nœud RPC.Changer la clé d'identité
Après le déploiement, vous devez changer la clé non prise de la clé d'identité autorisée.
bash
slv v set:identity -n testnet --pubkey epics-testslv v set:identity -n testnet --pubkey epics-testCette commande définira la clé d'identité à partir de votre ordinateur local situé à:
~/.slv/keys/<name>.jsonRedémarrer Firedancer
Si vous avez des problèmes avec le validateur, vous pouvez redémarrer le niveleur avec la commande suivante.
Les
--rm option arrêtera le validateur, supprimera le registre et les répertoires d'instantanés, téléchargera un instantané à l'aide du rechercheur d'instantanés, puis lancera le validateur.bash
slv v restart -n testnet --pubkey <name> --rmslv v restart -n testnet --pubkey <name> --rmCommandes de validation 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 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