Resumen
Un endpoint de Optimism es una URL JSON-RPC que permite que tu dApp o backend lea y escriba datos en OP Mainnet u OP Sepolia. Este artículo cubre la configuración exacta de la red, cómo conectarse mediante curl o ethers.js, y cómo depurar fallos comunes del endpoint.
Cuando buscas "endpoint de Optimism", normalmente necesitas una de dos cosas: la configuración exacta de la red para configurar una wallet o dApp, o una URL JSON-RPC confiable para tráfico de producción. Este artículo te proporciona ambas, además de los modos de fallo que más tiempo de depuración consumen.
Recomendación rápida: ¿qué endpoint de Optimism deberías usar?
Antes de copiar una URL en tu configuración, decide qué hará el endpoint:
- Prototipado o hackathon: un endpoint público como
https://optimism.api.onfinality.io/publices suficiente para unas pocas solicitudes. Los endpoints públicos tienen límites de tasa y pueden no soportar WebSocket, por lo que no son una base de producción. - Una dApp o backend de producción: utiliza un proveedor RPC gestionado con límites de tasa más altos, soporte de WebSocket y datos de archivo si necesitas estado histórico. OnFinality ofrece endpoints RPC para Optimism con transporte HTTP y WebSocket.
- Suscripciones en tiempo real (transacciones pendientes, eventos de log): necesitas un endpoint WebSocket. Muchos RPC gratuitos omiten
wss://, así que verifica el soporte de transporte antes de construir. - Análisis pesado o indexación: es posible que necesites datos de archivo o métodos
trace_/debug_. No todos los proveedores los exponen, así que confirma el soporte de métodos de antemano.
Si no estás seguro de qué nivel se ajusta, comienza con el endpoint público para una prueba de humo, luego pasa a un plan RPC dedicado o de pago cuando el tráfico crezca. Consulta Precios de RPC para opciones.
Configuración de red de Optimism de un vistazo
OP Mainnet y OP Sepolia comparten la misma interfaz JSON-RPC compatible con Ethereum, pero los IDs de cadena y los endpoints difieren. Mezclarlos es el error de configuración más común.
| Parámetro | OP Mainnet | OP Sepolia |
|---|---|---|
| Nombre de red | OP Mainnet | OP Sepolia Testnet |
| ID de cadena | 10 | 11155420 |
| Moneda nativa | ETH | Sepolia ETH |
| Explorador de bloques | https://optimistic.etherscan.io | https://sepolia-optimism.etherscan.io |
| URL RPC pública | https://optimism.api.onfinality.io/public | https://optimism-sepolia.api.onfinality.io/public |
| Soporte WebSocket | Sí (a través del proveedor) | Sí (a través del proveedor) |
Estos valores coinciden con la configuración de cadena utilizada por la página de red de Optimism y la página de Optimism Sepolia de OnFinality.
Conexión a un endpoint de Optimism
Usando curl
Una solicitud JSON-RPC básica para verificar el número de bloque más reciente se ve así:
curl https://optimism.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
La respuesta debe ser un número de bloque codificado en hexadecimal, por ejemplo {"jsonrpc":"2.0","result":"0x1345678","id":1}.
Usando ethers.js
En un entorno Node.js o navegador, puedes conectarte con ethers v6:
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://optimism.api.onfinality.io/public');
const blockNumber = await provider.getBlockNumber();
console.log('Current block:', blockNumber);
Para suscripciones WebSocket, usa WebSocketProvider en su lugar:
import { WebSocketProvider } from 'ethers';
const wsProvider = new WebSocketProvider('wss://optimism.api.onfinality.io/public');
wsProvider.on('block', (blockNumber) => {
console.log('New block:', blockNumber);
});
Nota: el endpoint público puede no soportar WebSocket. Para acceso WebSocket de producción, usa un proveedor gestionado que soporte explícitamente wss://.
Agregar Optimism a una wallet
Si necesitas agregar OP Mainnet a MetaMask u otra wallet, usa estos ajustes:
- Nombre de red: OP Mainnet
- URL RPC:
https://optimism.api.onfinality.io/public - ID de cadena: 10
- Símbolo de moneda: ETH
- URL del explorador de bloques:
https://optimistic.etherscan.io
Para OP Sepolia, usa el ID de cadena 11155420 y la URL del explorador Sepolia.
Métodos JSON-RPC comunes en Optimism
Optimism soporta los métodos JSON-RPC estándar de Ethereum, además de algunos específicos de L2. Los más útiles para el desarrollo diario:
eth_blockNumber– obtener el último bloqueeth_getBalance– consultar el saldo de una direccióneth_call– ejecutar una llamada de contrato de solo lecturaeth_sendRawTransaction– transmitir una transacción firmadaeth_getTransactionReceipt– verificar el estado de una transaccióneth_subscribe– suscripciones WebSocket para nuevas cabeceras o logseth_getLogs– obtener logs de eventos de un contrato
Para datos específicos de L2, también puedes usar eth_getProof o eth_getStorageAt según tu caso de uso. Verifica el soporte de métodos del proveedor si necesitas métodos debug_ o trace_ para depuración más profunda.
Ruta de depuración: qué hacer cuando tu endpoint de Optimism falla
Los fallos de endpoint generalmente caen en una de estas categorías. Usa esta tabla para diagnosticar rápidamente:
| Síntoma | Causa probable | Solución |
|---|---|---|
CONNECTION REFUSED o timeout | URL incorrecta o red caída | Verifica la URL y comprueba tu conexión de red |
429 Too Many Requests | Límite de tasa excedido | Usa un endpoint de pago o dedicado, o añade backoff |
-32601 Method not found | Método no soportado por el proveedor | Revisa la lista de métodos del proveedor; usa otro proveedor si es necesario |
-32000 o -32005 | Problema de sincronización del nodo o límite alcanzado | Espera y reintenta, o usa un proveedor con límites más altos |
UNKNOWN CHAIN en la wallet | ID de cadena incorrecto | Establece el ID de cadena a 10 (mainnet) o 11155420 (Sepolia) |
| Desconexiones WebSocket | Conexión inestable o límite del proveedor | Usa un proveedor con soporte WebSocket dedicado |
Si ves -32616 en una respuesta WebSocket, el payload es demasiado grande. Cambia a una solicitud POST para esa llamada.
Endpoint de Optimism vs ejecutar tu propio nodo
Ejecutar un nodo OP Mainnet te da control total, pero conlleva una sobrecarga operativa. Necesitas ejecutar un cliente de ejecución y un cliente de consenso, mantenerlos sincronizados y manejar el crecimiento del almacenamiento. Para la mayoría de los equipos, un proveedor RPC gestionado es más práctico.
| Consideración | RPC gestionado | Nodo autoalojado |
|---|---|---|
| Tiempo de configuración | Minutos | Días |
| Mantenimiento | El proveedor lo maneja | Tú manejas actualizaciones y monitoreo |
| Costo | Tarifa mensual predecible | Hardware + ancho de banda + tiempo de ingeniería |
| Escalabilidad | El proveedor escala | Debes escalar manualmente |
| Datos de archivo | A menudo disponibles | Requiere almacenamiento adicional |
Si necesitas baja latencia, alto rendimiento o datos de archivo sin la carga operativa, un nodo dedicado de OnFinality podría ser la opción adecuada. Consulta nodo dedicado para más detalles.
Elegir un proveedor para tu endpoint de Optimism
Al evaluar un proveedor RPC, compara estos factores:
- Soporte de transporte: HTTP y WebSocket. Algunos proveedores solo ofrecen HTTP.
- Límites de tasa: Los niveles gratuitos están muy limitados. Verifica las solicitudes por segundo (RPS) para tu carga de trabajo.
- Datos de archivo: Necesarios para consultas de estado histórico. No todos los proveedores los ofrecen.
- Soporte de métodos:
trace_ydebug_no son universales. - Confiabilidad: Busca datos históricos de tiempo de actividad y tiempo de respuesta, pero evita proveedores que prometan garantías absolutas.
- Modelo de precios: Tarifa plana vs. basado en uso. La tarifa plana es más fácil de presupuestar para producción.
OnFinality ofrece endpoints RPC para Optimism con HTTP y WebSocket, y puedes comparar planes en Precios de RPC.
Conclusiones clave
- Un endpoint de Optimism es una URL JSON-RPC para OP Mainnet (ID de cadena 10) u OP Sepolia (ID de cadena 11155420).
- Los endpoints públicos son adecuados para pruebas, pero no para producción. Usa un proveedor gestionado para confiabilidad y soporte WebSocket.
- Siempre verifica el ID de cadena y el soporte de transporte antes de integrar.
- Los fallos comunes incluyen límites de tasa, ID de cadena incorrecto y falta de soporte WebSocket. Usa la tabla de depuración para diagnosticar rápidamente.
- Para producción, evalúa a los proveedores según límites de tasa, datos de archivo, soporte de métodos y precios.
Preguntas frecuentes
¿Cuál es el endpoint RPC de Optimism?
El endpoint RPC público para OP Mainnet es https://optimism.api.onfinality.io/public. Para OP Sepolia, usa https://optimism-sepolia.api.onfinality.io/public. Estos tienen límites de tasa y están destinados al desarrollo.
¿El endpoint de Optimism soporta WebSocket?
Los endpoints de Optimism de OnFinality soportan transporte HTTP y WebSocket. Sin embargo, la URL pública puede no soportar WebSocket. Para acceso WebSocket de producción, usa un endpoint dedicado o de pago.
¿Cómo agrego Optimism a MetaMask?
Usa la configuración de red anterior: URL RPC, ID de cadena 10, símbolo ETH y URL del explorador. Para Sepolia, usa el ID de cadena 11155420.
¿Cuál es la diferencia entre OP Mainnet y OP Sepolia?
OP Mainnet es la red de producción con ETH real. OP Sepolia es una testnet con Sepolia ETH gratuito para desarrollo. Los IDs de cadena difieren: 10 vs 11155420.
¿Por qué me están limitando la tasa en el endpoint público?
Los endpoints públicos tienen límites de tasa estrictos. Para límites más altos, usa un plan RPC de pago o un nodo dedicado.
¿Puedo usar el endpoint de Optimism para datos de archivo?
No todos los endpoints proporcionan datos de archivo. Consulta con tu proveedor. OnFinality ofrece datos de archivo en ciertos planes; consulta Precios de RPC para más detalles.