Resumen
Ejecutar un nodo de Optimism significa ejecutar un cliente de ejecución de OP Stack (op-geth) junto con op-node, el cliente de consenso rollup que deriva el estado de L2 desde Ethereum L1. Los requisitos de hardware son moderados para un nodo completo, pero el modo archivo, un alto volumen de solicitudes y las consultas de registros históricos aumentan rápidamente los requisitos de almacenamiento y E/S.
Esta página cubre los requisitos prácticos de CPU, RAM, disco y ancho de banda, la diferencia entre nodos completos y de archivo, y cuándo tiene más sentido usar un endpoint RPC de Optimism gestionado o un nodo dedicado en lugar de operar el stack por tu cuenta.
Optimism es un rollup de OP Stack, por lo que "ejecutar un nodo" no es un solo proceso. Ejecutas un cliente de ejecución (típicamente op-geth) y un cliente de consenso (op-node) juntos, y op-node depende de una conexión a un endpoint de Ethereum L1 para derivar el estado del rollup. Esa arquitectura de dos clientes es lo más importante que separa los requisitos de un nodo de Optimism de los de un nodo de cadena EVM simple.
Esta página te da los números prácticos, la decisión entre completo y archivo, y un camino claro para equipos que prefieren consumir un endpoint en lugar de operar el stack.
¿Deberías ejecutar un nodo de Optimism o usar un endpoint gestionado?
Antes de dimensionar el hardware, decide si el autoalojamiento es realmente la opción correcta. Ejecutar el stack te da control total sobre los datos, pero también significa que asumes el crecimiento del disco, los costos de L1, las actualizaciones del cliente y la monitorización.
| Tu situación | Mejor opción | Por qué |
|---|---|---|
| Necesitas un endpoint privado de baja latencia para una aplicación | API RPC gestionada | No hay disco ni sincronización de L1 que mantener; escala añadiendo capacidad |
| Consultas registros y trazas históricas intensamente | Nodo dedicado o RPC de archivo | El estado de archivo y los métodos de traza necesitan almacenamiento grande y rápido |
| Necesitas verificar el estado del rollup de forma independiente | Nodo completo autoalojado | Tú controlas el pipeline de derivación y los datos |
| Ejecutas indexadores, puentes o herramientas cercanas al secuenciador | Nodo dedicado | Recursos predecibles y sin límites de tasa compartidos |
| Estás prototipando o ejecutando una dApp pequeña | Endpoint RPC compartido | La vía más rápida a una conexión funcional |
Una regla útil: si el valor central de tu equipo es la aplicación, no la operación del nodo, una API RPC gestionada o un nodo dedicado normalmente eliminan más riesgo del que añaden. Si tu valor central es la verificación independiente o los pipelines de datos personalizados, el autoalojamiento vale el costo operativo.
Los dos clientes que realmente ejecutas
Un nodo de Optimism es un par de procesos:
- op-geth — el cliente de ejecución. Ejecuta transacciones de L2, mantiene el estado y sirve JSON-RPC. Aquí es donde recae la mayor presión de CPU, RAM y disco.
- op-node — el cliente de consenso del rollup. Lee datos de L1, deriva la cadena canónica de L2 e impulsa op-geth. Necesita un endpoint RPC de L1 confiable.
Debido a que op-node sigue a Ethereum L1, la salud de tu nodo depende de dos cadenas, no de una. Si tu endpoint de L1 es lento o tiene límite de tasa, tu nodo de L2 se retrasa incluso cuando su propio hardware está bien.
Requisitos de hardware de un vistazo
Los números a continuación son puntos de partida prácticos para un nodo sincronizado, no mínimos de proveedor. El uso real depende del modo de sincronización, la carga de solicitudes y cuánto tiempo conservas el historial.
| Recurso | Nodo completo (punto de partida) | Nodo de archivo / consultas intensas |
|---|---|---|
| CPU | 4–8 núcleos modernos | 8–16 núcleos |
| RAM | 16 GB | 32 GB o más |
| Tipo de disco | Se prefiere encarecidamente SSD NVMe | Se requiere SSD NVMe |
| Tamaño de disco | Planifica el crecimiento; cientos de GB y aumentando | Varios TB, creciendo con el tiempo |
| Ancho de banda | Conexión estable, rendimiento sostenido moderado | Mayor rendimiento sostenido para sincronización y consultas |
| Acceso a L1 | Endpoint RPC de Ethereum confiable | Endpoint RPC de Ethereum confiable |
Dos advertencias importan más que las cifras exactas. Primero, el disco es el recurso que sorprende a la gente: los datos de la cadena crecen continuamente, así que dimensiona para el próximo año, no para hoy. Segundo, la latencia de E/S importa más que la capacidad bruta para cargas de trabajo RPC: un SSD SATA grande se sentirá más lento que una unidad NVMe más pequeña bajo carga de consultas.
Nodo completo vs nodo de archivo
Esta es la decisión que más cambia tu factura.
Un nodo completo mantiene el estado reciente y puede servir consultas de estado actual y registros recientes. Es la elección correcta para validar, seguir la cabeza de la cadena y la mayoría de los backends de aplicaciones.
Un nodo de archivo conserva el estado histórico para que puedas consultar saldos, almacenamiento y estado en cualquier bloque pasado. Es necesario para exploradores de bloques, análisis y cualquier herramienta que reconstruya el historial. Los nodos de archivo necesitan sustancialmente más disco y tardan más en sincronizar.
Si solo necesitas registros históricos en lugar de estado histórico, verifica si el endpoint estándar de tu proveedor ya admite el rango de registros que necesitas antes de comprometerte con infraestructura de archivo.
Modos de sincronización y cuánto tarda la configuración
Los nodos de Optimism generalmente se sincronizan derivando el estado desde L1, lo que es más lento que descargar una instantánea. Espera que la sincronización inicial tome una cantidad significativa de tiempo y que esté dominada por la disponibilidad de datos de L1 y la velocidad de tu disco.
Consejos prácticos para acortar el dolor:
- Usa un endpoint de L1 rápido con límites de solicitudes generosos durante la sincronización.
- Coloca los datos de la cadena en NVMe local, no en almacenamiento en red.
- Monitoriza los registros de op-node y op-geth por separado; un op-node estancado parece un nodo estancado.
- El arranque basado en instantáneas puede reducir el tiempo de sincronización, pero verifica la fuente de la instantánea y la compatibilidad de versión con tu versión del cliente.
Conectar y probar tu nodo
Una vez que op-geth esté sirviendo RPC, confirma la identidad de la cadena y la cabeza antes de dirigir el tráfico de producción hacia él. Una verificación rápida:
curl -s http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
Deberías recibir el ID de cadena de OP Mainnet (0xa, o 10 en decimal). Luego verifica que el nodo esté siguiendo la cabeza:
curl -s http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
Si prefieres conectarte a un endpoint gestionado, el endpoint público de Optimism es https://optimism.api.onfinality.io/public, y el equivalente de testnet es https://optimism-sepolia.api.onfinality.io/public. Para tráfico de producción, usa un endpoint autenticado en lugar del público.
Para apuntar una billetera o biblioteca a Optimism, los parámetros de red son:
| Configuración | Valor |
|---|---|
| Nombre de red | OP Mainnet |
| ID de cadena | 10 |
| Símbolo de moneda | ETH |
| Explorador de bloques | https://optimistic.etherscan.io |
En JavaScript con viem, una llamada de lectura se ve así:
import { createPublicClient, http } from 'viem';
import { optimism } from 'viem/chains';
const client = createPublicClient({
chain: optimism,
transport: http('https://optimism.api.onfinality.io/public'),
});
const block = await client.getBlockNumber();
console.log('Optimism head:', block);
Requisitos operativos que la gente olvida
El hardware es solo la mitad de la historia. Presupuesta para esto antes de comprometerte:
- Costo y límites del endpoint de L1. op-node lee L1 continuamente. Un endpoint de L1 con límite de tasa degradará tu nodo de L2.
- Actualizaciones del cliente. Los clientes de OP Stack lanzan versiones con frecuencia. Necesitas un proceso para probar y desplegar actualizaciones sin largos tiempos de inactividad.
- Monitorización. Rastrea el retraso de la cabeza, el número de pares, el uso de disco y las tasas de error de RPC. El retraso de la cabeza es la primera señal de problemas.
- Copias de seguridad y recuperación. Conoce cuánto tarda una resincronización, porque ese es tu peor tiempo de recuperación.
- Seguridad. Expón RPC solo a redes confiables; no dejes una interfaz de administración abierta en una IP pública.
Modos de fallo comunes y soluciones
| Síntoma | Causa probable | Primera solución |
|---|---|---|
| Nodo atascado detrás de la cabeza | Endpoint de L1 lento o con límite de tasa | Mueve op-node a un mejor RPC de L1 |
| Tiempos de espera de RPC bajo carga | Saturación de E/S de disco | Mueve datos a NVMe; añade capacidad de lectura |
| La sincronización se detiene repetidamente | Disco o memoria insuficientes | Verifica espacio libre y margen de RAM |
| Falla la consulta histórica | Nodo completo, no de archivo | Usa un endpoint de archivo para esa consulta |
| Funciona localmente, falla en producción | Límites de tasa del endpoint público | Cambia a un endpoint autenticado o dedicado |
Cuándo un endpoint gestionado es la elección pragmática
El autoalojamiento tiene sentido cuando la verificación independiente o el acceso a datos personalizados es central para lo que haces. Para la mayoría de los equipos de aplicaciones, el nodo es una dependencia, no un producto. En ese caso, consumir un endpoint RPC de Optimism gestionado elimina el crecimiento del disco, los costos de L1 y los ciclos de actualización de tu hoja de ruta.
OnFinality proporciona RPC de Optimism a través de una API RPC compartida y opciones de nodo dedicado, con el mismo patrón de endpoint en todas las redes RPC compatibles. Puedes comparar planes en la página de precios de RPC, y si estás evaluando proveedores en general, la guía de selección de proveedores repasa los criterios de evaluación.
Puntos clave
- Un nodo de Optimism son dos clientes: op-geth (ejecución) y op-node (consenso), y op-node necesita un endpoint confiable de Ethereum L1.
- Un nodo completo comienza alrededor de 4–8 núcleos, 16 GB de RAM y almacenamiento NVMe, pero el disco crece continuamente: dimensiona para el futuro.
- Los nodos de archivo necesitan varios TB y una sincronización mucho más larga; elige archivo solo si necesitas estado histórico.
- La E/S de disco y la calidad del endpoint de L1 causan más incidentes de producción que la CPU bruta.
- Si tu aplicación es el producto, un endpoint RPC gestionado o un nodo dedicado suele ser la ruta de menor riesgo.
Preguntas frecuentes
¿Puedo ejecutar un nodo de Optimism sin ejecutar un nodo de Ethereum? Sí. op-node necesita un endpoint RPC de L1, pero puede ser un endpoint de Ethereum gestionado en lugar de un nodo de L1 autoalojado.
¿Cuánto disco necesito para un nodo completo de Optimism? Planifica cientos de gigabytes y crecimiento continuo. Los nodos de archivo necesitan varios terabytes. Siempre dimensiona para al menos el próximo año de crecimiento.
¿Necesito un nodo de archivo para eth_getLogs? No siempre. Las consultas de registros dependen del rango de bloques y la retención de tu proveedor. Prueba tu rango contra un endpoint estándar antes de aprovisionar infraestructura de archivo.
¿Cuál es el ID de cadena de Optimism? OP Mainnet usa el ID de cadena 10. Optimism Sepolia usa 11155420.
¿Es un nodo dedicado mejor que un endpoint compartido? Depende de la carga de trabajo. Los endpoints compartidos sirven para la mayoría de las aplicaciones; los nodos dedicados ayudan cuando necesitas recursos predecibles, consultas intensas de registros o trazas, o aislamiento de otros inquilinos.
¿Dónde puedo obtener un endpoint RPC de Optimism? OnFinality ofrece RPC de Optimism a través de su API RPC y opciones de nodo dedicado. Consulta la página de la red Optimism para detalles de conexión.