validateur Solana testnet - Quickstart

Installation & Validateur Lancement

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

Dé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>

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

Adresse IP du serveur d'entrée

Saisissez l'adresse IP du serveur.
bash
? 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
Ensuite, 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

Gé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
Veuillez 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

Gé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>
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 testnet
Tout 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) › Yes
C'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 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-test
Cette commande définira la clé d'identité à partir de votre ordinateur local situé à:
~/.slv/keys/<name>.json

Redé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> --rm

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