Resumen
Base es una red de Capa 2 de Ethereum construida con OP Stack. Para interactuar con Base, necesitas un endpoint RPC que permita a tu aplicación leer y escribir datos en la cadena. Esta página cubre el endpoint RPC oficial de Base, la configuración de la cadena, los patrones de solicitud comunes y cómo depurar problemas de conexión.
Inicio rápido: Conéctate a Base RPC
Si estás desarrollando en Base, lo primero que necesitas es un endpoint RPC confiable. Aquí está el endpoint público oficial proporcionado por OnFinality:
https://base.api.onfinality.io/public
Este endpoint admite JSON-RPC por HTTP y es adecuado para desarrollo y uso ligero en producción. Para un mayor rendimiento, hay opciones de nodos dedicados disponibles a través del servicio RPC de OnFinality.
Configuración de la cadena de un vistazo
Al configurar tu billetera o aplicación, necesitarás los siguientes parámetros de la red Base:
| Parámetro | Valor |
|---|---|
| Nombre de la red | Base |
| ID de cadena | 8453 |
| Moneda nativa | ETH (Ether) |
| Símbolo | ETH |
| Decimales | 18 |
| Explorador de bloques | https://basescan.org |
| Endpoint RPC | https://base.api.onfinality.io/public |
Estos valores son consistentes con la documentación oficial de Base y son utilizados por la mayoría de las billeteras y dApps.
¿Qué es un nodo RPC de Base?
Base es una red de Capa 2 de Ethereum construida sobre OP Stack. Hereda la seguridad de Ethereum mientras ofrece tarifas más bajas y una finalidad de transacción más rápida. Un nodo RPC (Llamada a Procedimiento Remoto) es la interfaz que permite que tu aplicación se comunique con la cadena de bloques de Base. A través de RPC, puedes consultar saldos, enviar transacciones, leer el estado de contratos y suscribirte a eventos.
Ejecutar tu propio nodo de Base es posible, pero requiere sincronizar toda la cadena y mantener la infraestructura. Para la mayoría de los equipos, usar un proveedor de RPC administrado como OnFinality es más práctico, especialmente cuando necesitas alta disponibilidad y baja latencia.
Cómo elegir la configuración RPC de Base adecuada
Tu elección de infraestructura RPC depende de tu carga de trabajo. Aquí tienes una guía rápida de decisión:
- Desarrollo y pruebas: Usa el endpoint público o un plan gratuito de un proveedor. Es suficiente para volúmenes pequeños y aplicaciones no críticas.
- dApps de producción con tráfico moderado: Un plan RPC compartido con límites de velocidad y buen tiempo de actividad suele ser suficiente. Busca proveedores que ofrezcan soporte WebSocket para actualizaciones en tiempo real.
- Aplicaciones de alto rendimiento o intensivas en datos: Considera un nodo dedicado de Base. Esto te da recursos dedicados, límites de velocidad más altos y acceso a datos de archivo si es necesario.
Para la mayoría de las aplicaciones de producción, un servicio RPC administrado como OnFinality ofrece el mejor equilibrio entre costo, confiabilidad y facilidad de uso.
Realizando tu primera solicitud JSON-RPC
Una vez que tengas un endpoint, puedes interactuar con Base usando métodos JSON-RPC estándar de Ethereum. Aquí tienes un ejemplo simple con curl para obtener el número de bloque actual:
curl https://base.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Deberías recibir una respuesta como:
{"jsonrpc":"2.0","id":1,"result":"0x123456"}
El resultado es un número de bloque codificado en hexadecimal. Puedes convertirlo a decimal para ver la altura actual del bloque.
Usando ethers.js con Base RPC
Si estás construyendo una aplicación JavaScript, la librería ethers facilita la conexión a Base. Aquí tienes un ejemplo mínimo:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://base.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Número de bloque actual:", blockNumber);
}
getBlockNumber();
Esto se conecta al endpoint público y obtiene el último número de bloque. Para producción, querrás usar una configuración de proveedor más robusta con reintentos y tiempos de espera.
Modos de fallo comunes y cómo depurarlos
Incluso con un proveedor RPC confiable, puedes encontrar problemas. Aquí hay síntomas comunes y sus soluciones:
| Síntoma | Causa posible | Paso de depuración |
|---|---|---|
ECONNREFUSED o tiempo de espera | Problema de red o endpoint caído | Verifica tu conexión a internet y prueba el endpoint en un navegador o con curl |
401 No autorizado | Clave API inválida o falta autenticación | Verifica tu clave API y que estás usando el endpoint correcto |
429 Demasiadas solicitudes | Límite de velocidad excedido | Reduce la frecuencia de solicitudes o mejora tu plan |
Error de servidor -32000 | Solicitud JSON-RPC inválida | Verifica el nombre del método y los parámetros |
nonce too low | Desajuste de nonce de transacción | Usa eth_getTransactionCount para obtener el nonce correcto |
Si estás usando un endpoint público y alcanzas los límites de velocidad, considera un nodo dedicado para límites más altos y un rendimiento más consistente.
Soporte WebSocket para datos en tiempo real
Para aplicaciones que necesitan actualizaciones en tiempo real, como monitoreo de transacciones o escucha de eventos, los endpoints WebSocket son esenciales. El endpoint de Base de OnFinality admite conexiones WebSocket. Aquí tienes un ejemplo usando ethers:
const { ethers } = require("ethers");
const provider = new ethers.WebSocketProvider("wss://base.api.onfinality.io/public");
async function subscribeToBlocks() {
provider.on("block", (blockNumber) => {
console.log("Nuevo bloque:", blockNumber);
});
}
subscribeToBlocks();
Nota: La URL WebSocket usa el esquema wss://. Asegúrate de que tu proveedor admita WebSocket antes de confiar en él.
Base Sepolia Testnet
Antes de implementar en mainnet, debes probar en Base Sepolia. La testnet usa un ID de cadena y un endpoint diferentes:
| Parámetro | Valor |
|---|---|
| Nombre de la red | Base Sepolia Testnet |
| ID de cadena | 84532 |
| Endpoint RPC | https://base-sepolia.api.onfinality.io/public |
| Explorador de bloques | https://sepolia.basescan.org |
Puedes obtener ETH de prueba de un faucet para financiar tus transacciones de prueba. Para más detalles, consulta la página de la red Base Sepolia.
Lista de verificación para producción
Antes de lanzar tu dApp en Base, revisa esta lista:
- Usa un proveedor RPC administrado con un acuerdo de nivel de servicio (SLA) si tu aplicación es crítica.
- Implementa lógica de reintentos y tiempos de espera en tus llamadas RPC.
- Monitorea tu uso de RPC y configura alertas para errores de límite de velocidad.
- Considera usar un nodo dedicado si necesitas alto rendimiento o datos de archivo.
- Prueba en Base Sepolia antes de implementar en mainnet.
- Mantén tu configuración de cadena actualizada.
Conclusiones clave
- Base es una red de Capa 2 de Ethereum con su propio endpoint RPC.
- El endpoint público oficial es
https://base.api.onfinality.io/public. - El ID de cadena es 8453 y la moneda nativa es ETH.
- Usa métodos JSON-RPC como
eth_blockNumberyeth_getBalancepara interacciones básicas. - Para producción, considera un proveedor RPC administrado o un nodo dedicado para confiabilidad y escalabilidad.
- Prueba en Base Sepolia antes de la implementación en mainnet.
Preguntas frecuentes
¿Cuál es el endpoint RPC de Base?
El endpoint RPC público de Base es https://base.api.onfinality.io/public. Para límites más altos, puedes usar un nodo dedicado de OnFinality.
¿Cuál es el ID de cadena de Base?
El ID de cadena de Base es 8453.
¿Cómo obtengo ETH de prueba en Base Sepolia?
Puedes usar un faucet para obtener ETH de prueba en Base Sepolia. Consulta la página de la red Base Sepolia para más información.
¿Puedo usar WebSocket con Base RPC?
Sí, el endpoint de Base de OnFinality admite conexiones WebSocket. Usa wss://base.api.onfinality.io/public para datos en tiempo real.
¿Cuáles son los límites de velocidad para el endpoint RPC público de Base?
Los límites de velocidad varían según el proveedor y el plan. Para producción, considera un plan de pago o un nodo dedicado para evitar alcanzar los límites.
Para más información sobre precios de RPC y redes compatibles, visita precios de RPC y redes RPC compatibles.