Resumen
Un nodo de archivo de Avalanche almacena el estado histórico completo de la C-Chain, X-Chain y P-Chain, lo que permite consultas que los nodos podados no pueden responder. Este artículo explica las diferencias entre nodos de archivo, podados y sincronizados por estado, y te ayuda a decidir si ejecutar uno tú mismo o usar un proveedor de RPC administrado.
Recomendación rápida: archivo vs podado vs administrado
Antes de aprovisionar hardware o registrarte en un servicio, decide qué modo de retención de datos necesita realmente tu carga de trabajo. AvalancheGo admite tres modos: archivo, podado y sincronización de estado. La siguiente tabla resume las ventajas y desventajas.
| Modo | Datos conservados | Mejor para | Huella de disco típica |
|---|---|---|---|
| Archivo | Estado histórico completo y bloques | Auditoría, análisis, backtesting, re-ejecución completa | Muy grande (terabytes) |
| Podado | Estado y bloques recientes | Validadores, dApps ligeras, consultas de saldo actual | Moderada (cientos de GB) |
| Sincronización de estado | Solo el estado más reciente | Puesta al día rápida para nuevos nodos | Pequeña (decenas de GB) |
Si solo necesitas saldos actuales, recibos de transacciones o registros de eventos de los últimos días, un nodo podado o sincronizado por estado es suficiente. Si necesitas consultar el estado histórico en cualquier bloque pasado, o re-ejecutar transacciones para análisis, necesitas un nodo de archivo.
Ejecutar un nodo de archivo tú mismo implica gestionar almacenamiento de varios terabytes, sincronización continua y copias de seguridad. Para muchos equipos, un proveedor de RPC administrado que ofrezca endpoints de archivo de Avalanche es el camino más rápido. OnFinality proporciona acceso RPC dedicado y compartido a las redes de Avalanche; consulta la página de redes RPC compatibles para conocer la disponibilidad actual.
¿Qué es un nodo de archivo de Avalanche?
Un nodo de archivo de Avalanche es un nodo AvalancheGo configurado para mantener el historial completo de las cadenas que rastrea. A diferencia de un nodo podado, que descarta el estado antiguo para ahorrar espacio en disco, un nodo de archivo conserva todo el estado histórico, lo que te permite consultar el estado de cualquier dirección o contrato en cualquier momento.
La red primaria de Avalanche consta de tres blockchains integrados: la C-Chain (compatible con Ethereum), la X-Chain (transferencias de activos) y la P-Chain (plataforma y validadores). Cada cadena puede tener su propio modo de retención de datos. Por ejemplo, podrías ejecutar la C-Chain en modo de archivo para consultas históricas de estilo Ethereum, mientras mantienes la X-Chain y la P-Chain podadas.
Los nodos de archivo son esenciales para:
- Auditoría y cumplimiento: probar el estado de una cuenta o contrato en un bloque pasado.
- Análisis e indexación: construir conjuntos de datos históricos para paneles, análisis DeFi o subgrafos de The Graph.
- Backtesting de estrategias de trading: reproducir condiciones históricas del mercado.
- Depuración: rastrear la ruta de ejecución completa de una transacción.
Cómo se diferencian los nodos de archivo de Avalanche de los nodos podados y sincronizados por estado
La retención de datos de AvalancheGo se configura por cadena. Los tres modos son:
- Archivo: conserva todo el estado histórico y los bloques. Permite consultas como
eth_getBalanceen un número de bloque antiguo, oeth_getLogsen un amplio rango histórico. - Podado: conserva solo el estado y los bloques más recientes. El estado antiguo se elimina después de un cierto período. Esto reduce el uso de disco pero limita las consultas históricas.
- Sincronización de estado: descarga un resumen de estado y sincroniza solo el estado más reciente, omitiendo bloques históricos. Esta es la forma más rápida de poner en marcha un nodo, pero ofrece la menor cantidad de datos históricos.
Puedes combinar modos entre cadenas. Por ejemplo, un nodo podría usar sincronización de estado para la P-Chain y la X-Chain, pero archivo para la C-Chain.
Cuándo ejecutar tu propio nodo de archivo de Avalanche
Ejecutar tu propio nodo de archivo te da control total sobre los datos, el acceso y el costo, si tienes la capacidad operativa. Considera esta opción si:
- Necesitas consultar el estado histórico con frecuencia y tienes cargas de trabajo predecibles y de alto volumen.
- Requieres soberanía de datos o quieres evitar dependencias de terceros.
- Tienes la experiencia en infraestructura para gestionar una base de datos de varios terabytes, manejar copias de seguridad y monitorear la salud de la sincronización.
Consideraciones operativas clave:
- Almacenamiento: los nodos de archivo requieren un disco significativo. Planifica terabytes y usa SSD rápidos para la base de datos.
- Tiempo de sincronización: la sincronización inicial puede tomar días o semanas, dependiendo de la velocidad de la red y el hardware. La sincronización de estado puede acelerar la puesta al día, pero deberás habilitar el modo de archivo desde el principio para conservar el historial.
- Copias de seguridad: las copias de seguridad regulares son críticas. La documentación de respaldo y restauración de AvalancheGo cubre cómo respaldar tu ID de nodo y la base de datos.
- Monitoreo: rastrea el estado de sincronización, el uso de disco y los tiempos de respuesta de la API. Configura alertas para anomalías.
Cuándo usar un proveedor de RPC de archivo de Avalanche administrado
La mayoría de los equipos no necesitan ejecutar su propio nodo de archivo. Un proveedor de RPC administrado maneja la infraestructura, el escalado y el mantenimiento, lo que te permite concentrarte en construir. Considera un servicio administrado si:
- Quieres comenzar a consultar datos históricos rápidamente sin esperar una sincronización de varios días.
- Necesitas alta disponibilidad y conmutación por error sin gestionar tu propio clúster.
- Prefieres precios predecibles sobre costos de hardware y operativos.
OnFinality ofrece servicios RPC para Avalanche y muchas otras redes. Puedes obtener una clave de API y comenzar a hacer solicitudes en minutos. Consulta Precios de RPC para detalles de planes y la página de redes compatibles para disponibilidad de endpoints de Avalanche.
Cómo configurar un nodo de archivo de Avalanche
Si decides ejecutar tu propio nodo, aquí tienes un enfoque de configuración de alto nivel. AvalancheGo usa un archivo de configuración JSON por cadena. Para la C-Chain, crea un archivo de configuración en configs/chains/C/config.json con el siguiente contenido:
{
"pruning-enabled": false
}
Establecer pruning-enabled en false desactiva la poda y conserva todos los datos de archivo. Para la X-Chain y la P-Chain, puedes crear archivos de configuración similares si también deseas el modo de archivo para esas cadenas.
Al iniciar AvalancheGo, apunta a tu directorio de configuración con la bandera --chain-config-dir. Un archivo de servicio systemd mínimo podría verse así:
[Unit]
Description=Nodo Avalanche
After=network.target
[Service]
User=avalanche
WorkingDirectory=/opt/avalanche
ExecStart=/opt/avalanche/build/avalanchego \
--chain-config-dir=/opt/avalanche/configs/chains \
--db-dir=/var/lib/avalanche/db \
--http-host=0.0.0.0 \
--http-port=9650 \
--network-id=mainnet
Restart=on-failure
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
Después de iniciar el nodo, puedes consultarlo a través de JSON-RPC. Por ejemplo, para obtener el número de bloque más reciente en la C-Chain:
curl -X POST http://localhost:9650/ext/bc/C/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Errores comunes al ejecutar un nodo de archivo
- Subestimar el espacio en disco: los nodos de archivo crecen rápidamente. Monitorea el uso de disco y planifica la expansión.
- Ruta de configuración incorrecta: asegúrate de que el directorio de configuración de la cadena esté especificado correctamente. Un error común es colocar el archivo de configuración en la ubicación incorrecta.
- Olvidar las copias de seguridad: perder un nodo de archivo significa perder datos históricos. Configura copias de seguridad automatizadas.
- No monitorear la salud de la sincronización: un nodo que se queda atrás puede servir datos obsoletos. Usa métricas y alertas.
- Ignorar los requisitos de red: los nodos de archivo necesitan conexiones estables y de alto ancho de banda. Verifica tu firewall y ancho de banda.
Cómo consultar datos históricos en un nodo de archivo de Avalanche
Con un nodo de archivo, puedes consultar el estado histórico utilizando métodos JSON-RPC estándar de Ethereum en la C-Chain. Por ejemplo, para obtener el saldo de una dirección en un bloque específico:
curl -X POST https://tu-endpoint \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x...", "0x123456"],"id":1}'
El segundo parámetro es el número de bloque en hexadecimal. También puedes usar eth_getLogs para consultar registros de eventos históricos en un rango de bloques.
Para desarrolladores de JavaScript que usan ethers.js:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://tu-endpoint");
async function getHistoricalBalance(address, blockNumber) {
const balance = await provider.getBalance(address, blockNumber);
console.log(`Saldo en el bloque ${blockNumber}: ${ethers.formatEther(balance)} AVAX`);
}
Conclusiones clave
- Un nodo de archivo de Avalanche almacena el estado histórico completo, lo que permite consultas que los nodos podados no pueden responder.
- Elige el modo de archivo solo si necesitas datos históricos; de lo contrario, el modo podado o la sincronización de estado son más rentables.
- Ejecutar tu propio nodo de archivo requiere un almacenamiento significativo, tiempo de sincronización y esfuerzo operativo.
- Los proveedores de RPC administrados como OnFinality ofrecen endpoints de archivo de Avalanche, lo que reduce la sobrecarga de infraestructura.
- Siempre monitorea el uso de disco, la salud de la sincronización y las copias de seguridad para evitar la pérdida de datos.
Preguntas frecuentes
¿Cuál es la diferencia entre un nodo de archivo y un nodo podado en Avalanche?
Un nodo de archivo conserva todo el estado histórico y los bloques, mientras que un nodo podado elimina datos antiguos para ahorrar espacio en disco. Los nodos de archivo permiten consultas en cualquier bloque pasado, mientras que los nodos podados solo sirven datos recientes.
¿Cuánto almacenamiento necesita un nodo de archivo de Avalanche?
Los requisitos de almacenamiento varían según la cadena y la actividad de la red. El archivo de la C-Chain puede ser de varios terabytes. Planifica SSD grandes y rápidos y monitorea el crecimiento.
¿Puedo ejecutar un nodo de archivo solo para la C-Chain?
Sí. AvalancheGo permite la configuración por cadena. Puedes establecer pruning-enabled en false para la C-Chain mientras mantienes otras cadenas podadas.
¿Es más barato ejecutar mi propio nodo de archivo o usar un proveedor administrado?
Depende de tu carga de trabajo. Ejecutar tu propio nodo implica hardware, electricidad y mantenimiento. Los proveedores administrados ofrecen precios predecibles y menor esfuerzo inicial. Compara costos según tu volumen de consultas.
¿OnFinality proporciona nodos de archivo de Avalanche?
OnFinality ofrece servicios RPC para redes de Avalanche. Consulta la página de redes compatibles para conocer la disponibilidad actual de endpoints de archivo y precios para detalles de planes.