Corriendo un Nodo en Base

Correr un nodo en cripto se refiere a la acción de participar en una red blockchain al mantener una copia completa del libro de contabilidad y validar transacciones

Esta guía te guiará a través del proceso de configuración de tu propio Nodo en Base.

Objetivos

Al final de esta guía, deberías ser capaz de:

  • Desplegar y sincronizar un nodo Base.

Prerrequisitos

ADVERTENCIA

Ejecutar un nodo consume tiempo, es intensivo en recursos y potencialmente costoso. Si aún no sabes por qué quieres ejecutar tu propio nodo, probablemente no lo necesites.

Si estás empezando y necesitas una URL RPC, puedes usar nuestro punto final gratuito en https://mainnet.base.org (o si estás configurando un nodo en testnet, https://goerli.base.org). Nota: Nuestros RPC están limitados en cuanto a tasa, por lo que no son adecuados para aplicaciones en producción.

Si buscas fortalecer tu dapp y evitar la limitación de tasa para tus usuarios, consulta a uno de nuestros socios.

Docker

Esta guía asume que estás familiarizado con Docker y lo tienes ejecutando en tu máquina.

URL RPC L1

Necesitarás tu propia URL RPC L1. Esta puede ser una que ejecutes tú mismo o a través de un proveedor externo, como nuestros socios.

Ejecutando un Nodo

Clona el repositorio.

Abre docker-compose.yml. Busca OP_NODE_L1_ETH_RPC, bajo environment, y reemplaza el enlace con tu URL RPC L1.

Ejecuta docker compose up. Confirma que obtienes una respuesta de:

jsonCopy code
curl -d '{"id":0,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \\
  -H "Content-Type: application/json" <http://localhost:8545>

ADVERTENCIA

La sincronización de tu nodo puede llevar días y consumirá una gran cantidad de tu cuota de solicitudes. Asegúrate de monitorear el uso y aumentar tu plan si es necesario.

Sincronización Puedes monitorear el progreso de tu sincronización con:

jsonCopy code
echo Último bloque sincronizado con un retraso de: $((($(date +%s)-$( \\
  curl -d '{"id":0,"jsonrpc":"2.0","method":"optimism_syncStatus"}' \\
  -H "Content-Type: application/json" <http://localhost:7545> | \\
  jq -r .result.unsafe_l2.timestamp))/60)) minutos

También sabrás que la sincronización no se ha completado si obtienes Error: nonce has already been used si intentas desplegar usando tu nodo.

Last updated