Corre Nodos Chainstack en un Servidor Dedicado
Aloja tu propio full node o archive node en bare metal que no compartes con nadie. Lleva tu nodo a Chainstack (BYOC), ten root e IPMI desde el primer día y olvídate de los límites de solicitudes de un endpoint gestionado.
Qué puedes hacer con Chainstack en un servidor dedicado
Chainstack es una infraestructura blockchain gestionada para más de 70 redes. Si utilizas un servidor dedicado, tú mismo te encargas del nodo, mientras que las herramientas de Chainstack se encargan de administrarlo.
Full node o archive node sin límites de solicitudes
Bring Your Own Cloud (BYOC)
Backend de producción para dApp o RPC
Indexación a escala — cada transacción, sin muestreo
Validator o nodo de staking
Varios nodos de distintas redes en una máquina
Cómo desplegar un nodo Chainstack en un servidor dedicado
Un full node de Ethereum tarda de horas a días en sincronizar y un archive node ocupa varios terabytes. Estos pasos te llevan de un servidor vacío a un nodo sincronizando con un endpoint RPC funcionando. El hardening, el monitoreo y la configuración del reverse-proxy quedan listados como próximos pasos al final.
Paso 01 — Solicita el servidor y obtén acceso
Elige una configuración del bloque de arriba (un full node de una sola red entra en el nivel de NVMe más chico). Después del aprovisionamiento, recibes la IP, la contraseña de root y los datos de IPMI por correo. Conéctate por SSH:
ssh root@YOUR_SERVER_IPEl IPMI te permite reinstalar el sistema o entrar por consola si el SO no arranca, sin abrir un ticket de soporte.
Paso 02 — Prepara el NVMe para los datos de la red
Confirma que los discos están presentes y monta el que va a guardar el estado de la red:
lsblkmkfs.ext4 /dev/nvme1n1mkdir -p /data/ethereummount /dev/nvme1n1 /data/ethereumecho '/dev/nvme1n1 /data/ethereum ext4 defaults 0 0' >> /etc/fstabMantén los datos de la red en el NVMe dedicado, no en el disco del sistema.
Paso 03 — Instala el cliente de ejecución
Instala Geth desde el PPA oficial:
add-apt-repository -y ppa:ethereum/ethereumapt update && apt install -y ethereumgeth versionPaso 04 — Instala un cliente de consenso
Después de The Merge, Ethereum necesita un cliente de consenso junto a Geth. Instala Lighthouse y genera el JWT secret compartido que los dos clientes usan para autenticarse:
openssl rand -hex 32 | tr -d '\n' > /data/ethereum/jwt.hexApunta Lighthouse a la engine API de Geth en el puerto 8551.
Paso 05 — Inicia Geth y expón el endpoint RPC
Corre Geth apuntando a la ruta en el NVMe y habilita la HTTP-RPC API:
geth --datadir /data/ethereum \ --authrpc.jwtsecret /data/ethereum/jwt.hex \ --http --http.api eth,net,web3 \ --http.addr 0.0.0.0 --http.port 8545Vincular a 0.0.0.0 expone el endpoint en todas las interfaces: está bien mientras verificas, pero restringe el acceso antes de pasar a producción.
Paso 06 — Córrelo como servicio y confirma la sincronización
Envuelve Geth en una unit de systemd para que sobreviva a los reinicios y se reinicie ante una falla, y observa el inicio de la sincronización:
systemctl enable --now gethgeth attach --exec 'eth.syncing'Durante la sincronización, los números de bloque van subiendo:
{ currentBlock: 2148740, highestBlock: 21463991, ...}Cuando eth.syncing devuelve false, el nodo está totalmente sincronizado y el endpoint RPC está activo.
Paso 07 — Verifica que el endpoint responda
Desde tu servidor de aplicación, confirma que el nodo responde a una llamada JSON-RPC:
curl -s -X POST http://YOUR_SERVER_IP:8545 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'Un número de bloque en hexadecimal en la respuesta significa que tu nodo propio está atendiendo solicitudes.
Próximos pasos (hazlos antes de pasar a producción): restringe el puerto RPC con UFW y un reverse-proxy, agrega TLS, configura el monitoreo del conteo de peers y del uso de disco y — si usas Chainstack BYOC — conecta el nodo a tu proyecto Chainstack para que aparezca en la consola.
Problemas comunes
La sincronización parece atascada en un bloque bajo por horas. Por lo general es normal en la fase de descarga del estado, no una falla. Revisa el conteo de peers con admin.peers.length en geth attach: si es cero, tu firewall está bloqueando el puerto P2P (30303). Ábrelo y los peers aparecerán.
El disco se llena más rápido de lo esperado. Desplegaste un archive node sin querer. La sincronización full (“snap”) conserva el estado reciente; el archive conserva todo y necesita varios TB. Confirma en qué modo arrancó el nodo y dimensiona el NVMe según el modo, no al revés.
El endpoint RPC rechaza las conexiones de tu aplicación. Por defecto, Geth escucha solo en localhost. O no se inició con --http.addr 0.0.0.0, o una regla de firewall está bloqueando el puerto 8545. Revisa ambos antes de dar por sentado que el nodo está fallando.
La infraestructura de is*hosting es una base sólida para Chainstack
Bare metal, no una porción de él
Recibes un AMD EPYC de muchos núcleos y cientos de gigabytes de RAM por completo, sin hypervisor entre tú y el disco. La sincronización del nodo depende del I/O, y en un servidor dedicado nada más compite por el disco. Root e IPMI disponibles desde el primer arranque.
NVMe hecho para el estado de la red
Un archive node genera lecturas aleatorias constantes en el disco, y ese tipo de carga desgasta rápido los SSD de consumo. Ponemos NVMe enterprise en configuraciones con varios discos y configuramos el soft-RAID al momento del despliegue, justo para ese escenario.
Protección contra DDoS y migración gratuita
En los Países Bajos ofrecemos protección gratuita contra DDoS con 95% de eficacia y, al mudarte de otro proveedor, migramos tu proyecto sin costo. Todo esto corre sobre hardware propio, en data centers Tier-3+ en cinco ubicaciones, con monitoreo 24/7.