OffshoreVps
Tutoriales17 oct 20267 min de lecturaPor el equipo de OffshoreVps

Ejecutar un nodo RPC de Solana: requisitos y configuración

Qué necesita realmente un validador o nodo RPC de Solana, cómo ajustar el sistema, iniciar un nodo RPC con el cliente Agave y cuándo es más inteligente una opción más pequeña.

Solana es la cadena más exigente de ejecutar por tu cuenta. Un validador o nodo RPC completo necesita una CPU muy rápida, mucha RAM y discos NVMe rápidos, y los requisitos cambian constantemente. Esta guía explica qué significa eso en la práctica, para que puedas decidir si necesitas tu propio nodo o una configuración más pequeña.

Ventana de terminal en un VPS que muestra los comandos usados para ejecutar un nodo RPC de Solana, empezando por “sudo adduser --disabled-password --gecos "" sol”
El tipo de comandos que ejecutarás en tu servidor en esta guía.

¿Validador, nodo RPC o ninguno?

  • Validador. Vota en los bloques y necesita las especificaciones de hardware completas, una cuenta de voto con fondos y disponibilidad constante.
  • Nodo RPC. Atiende solicitudes de apps, bots e indexadores. No vota, pero sigue necesitando hardware similar, y más RAM si activas índices de cuentas.
  • Uso ligero. Si solo envías unas pocas transacciones o lees pocos datos, un endpoint RPC de pago suele ser más barato que ejecutar un nodo.

Consulta los requisitos oficiales de validador de Solana antes de comprar. Se publican en la documentación de Solana y Agave y cambian con la red. Como guía aproximada, espera cientos de GB de RAM para un nodo RPC con mucha actividad y varias unidades NVMe rápidas. Eso es territorio de servidor dedicado, no de un VPS pequeño. Nuestra página de hosting de nodos Solana enumera las opciones dimensionadas.

Paso 1: prepara el servidor

Usa Ubuntu LTS y los pasos de cómo proteger un VPS nuevo. Crea un usuario dedicado y coloca el ledger y las cuentas en unidades NVMe separadas si tienes más de una.

sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts

Paso 2: aumentar los límites del sistema

Solana abre muchos archivos y usa grandes mapas de memoria. Añade esto a /etc/sysctl.d/21-solana.conf y a tu unidad de systemd:

vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728

# in the systemd unit:
LimitNOFILE=1000000

Aplícalo con sudo sysctl --system.

Los pasos de esta guía en orden: 1. ¿Validador, nodo RPC o ninguno?; 2. prepara el servidor; 3. aumenta los límites del sistema; 4. inicia un nodo RPC; 5. vigila cómo se pone al día; 6. Cortafuegos
Los pasos de esta guía, en orden.

Paso 3: instalar el software del validador

Instala la versión actual de Agave (el cliente validador de Solana) con el método de la documentación oficial, y verifícala. Luego comprueba la versión:

agave-validator --version
solana --version

Paso 4: iniciar un nodo RPC

Esta es la forma típica del comando de inicio para un nodo RPC que no vota. Usa los validadores conocidos y los entrypoints de la documentación oficial para tu clúster.

agave-validator \
  --identity /home/sol/identity.json \
  --ledger /mnt/ledger \
  --accounts /mnt/accounts \
  --entrypoint ENTRYPOINT:8001 \
  --known-validator KNOWN_VALIDATOR_PUBKEY \
  --only-known-rpc \
  --rpc-port 8899 \
  --private-rpc \
  --no-voting \
  --full-rpc-api \
  --limit-ledger-size \
  --log /var/log/solana/validator.log

Sustituye los marcadores por valores de la documentación. --private-rpc evita que el puerto RPC se anuncie a la red, y aun así debes mantenerlo cerrado con el cortafuegos.

Paso 5: vigilar que se ponga al día

solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor

Ponerse al día desde un snapshot tarda de minutos a horas. Si el nodo se queda atrás y nunca se recupera, la causa suele ser el disco o la red.

Cortafuegos

Permite el rango de puertos gossip y TPU descrito en la documentación (el rango por defecto es de 8000 a 10000) y mantén privado el RPC (8899 y 8900). Pon delante un proxy inverso con autenticación si debes ofrecer RPC a otras máquinas.