Solana Testnet Validator - Quickstart
Instalación & lanzamiento del validador
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 deployDeploy Solana Testnet Firedancer Validator
🚀 Prerequisitos
Por favor, prepare un servidor con Ubuntu 24.04 LTS limpiamente instalado.
🔑 About Key Handling
Para los nuevos despliegues de SLV Firedancer, unstaked-keypair.json siempre se utiliza como clave de identidad inicialmente para la seguridad.
Esta es una mejor práctica para prevenir cuestiones críticas como la doble votación.
Identificar la identidad después del despliegue
Después del despliegue, asegúrese de establecer la clave de identidad autorizada con el siguiente comando:
bash
slv v set:identity -n testnet --pubkey <name>slv v set:identity -n testnet --pubkey <name>Preparación de un servidor bare metal para Testnet
Si bien es posible ejecutar nodos de Solana en VPS o máquinas virtuales (VM), lograr un rendimiento óptimo y la estabilidad es difícil en la práctica. Solana recomienda oficialmente usar servidores bare metal, que ofrecen un rendimiento mucho más alto que entornos virtualizados.
Puesto que los entornos de testnet tienen una carga menor en comparación con mainnet, hemos confirmado una operación estable usando servidores con CPU de Ryzen de 16 núcleos y 128 GB DDR5 RAM. Utilizar esta configuración del servidor ayuda a reducir los costos operativos, por lo que se recomienda.
Cuando corres
slv v init comando, se le preguntará si su servidor baremetal ya está establecido: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
noEste tutorial supone que usted selecciona
yes.Si aún no ha preparado su servidor baremetal, consulte el Guía de configuración del servidor bare metal para completar la configuración.
Nombre de usuario predeterminado de Input Server
La mayoría de las veces, el nombre de usuario predeterminado es
ubuntu o root.bash
? What's the user for the server? (ubuntu) › ubuntu? What's the user for the server? (ubuntu) › ubuntuDirección IP del servidor de entrada
Introduce la dirección IP del servidor.
bash
? What's the IP address of the server? ›? What's the IP address of the server? ›Establece RSA Key para SSH
Por favor, coloque el camino a su llave RSA. El camino predeterminado es
~/.ssh/id_rsa.
En la actualidad, sólo se admite la ruta predeterminada, por lo que por favor configure como es.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 succeededLuego SLV comprobará la conexión al servidor. Si la conexión tiene éxito, el siguiente paso será impulsado.
Tipo de validador de Solana
Seleccione el tipo de validador de 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-jitoGenerar o establecer la clave de identidad del validador de Solana
Puede generar una nueva clave de identidad o establecer una clave de identidad existente.
Este ejemplo muestra cómo establecer una clave de identidad existente con el nombre "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.xPor favor, ponga su clave de identidad en
~/.slv/keys/<your-pubkey>.json. Luego, SLV creará el solv usuario usando una contraseña.Detección de Región Automática
A continuación, el sistema ping cada motor de bloque de su nodo configurado para detectar automáticamente la región más cercana. Mediante la medición de valores reales de ping, puede seleccionar la región óptima.
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.wtfGenerar o establecer el Validator de Solana Votar Clave de Cuenta
Puede generar una nueva clave de cuenta de voto o establecer una clave de cuenta de voto existente.
Este ejemplo muestra cómo establecer una clave de la cuenta de voto existente.
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 configuración se ha guardado ahora
~/.slv/inventory.testnet.validators.yml.Despliegue el Validator
Una vez que confirme la configuración, el despliegue comenzará.
bash
slv v deploy -n testnetslv v deploy -n testnetEn primer lugar, se mostrará la confirmación de configuración.
Seleccione Sí para continuar.
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) › Yes¡Está hecho! Su validador de Solana está ahora desplegado. Tardará algún tiempo en sincronizarse con la red Solana.
Depuracion y monitoreo
Después del despliegue, puede depurar y monitorear dentro del nodo de Solana RPC.
Puede comprobar el estado del nodo de Solana RPC usando los siguientes comandos:
bash
$ solv m$ solv msolv es un alias agave-validator -l /mnt/ledger.
Este ajuste se añade a ~/.profile durante el despliegue de los nodos RPC.Cambiar la clave de identidad
Después del despliegue, usted necesita cambiar la clave sin atascos de la clave de identidad autorizada.
bash
slv v set:identity -n testnet --pubkey epics-testslv v set:identity -n testnet --pubkey epics-testEste comando establecerá la clave de identidad de su computadora local ubicada en:
~/.slv/keys/<name>.jsonRestart Firedancer
Si tiene algún problema con el validador, puede reiniciar el despedidor con el siguiente comando.
El
--rm La opción para detener el validador, eliminar los directorios de ledger y snapshot, descargar una instantánea utilizando el buscador de instantáneas, y luego comenzar el validador.bash
slv v restart -n testnet --pubkey <name> --rmslv v restart -n testnet --pubkey <name> --rmComandos de validador 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