Saltar al contenido principal

Nodos Completos en Core

Un nodo completo de Core almacena el historial completo de la cadena de bloques de Core, lo que permite a cualquiera verificar el estado de cualquier cuenta. Un nodo completo de Core puede adoptar muchas formas:

  • Nodo completo normal: para uso privado.
  • Nodo completo validador: actúa como validador en Core, validando bloques y transacciones.
  • Nodo completo RPC: Proporciona servicios RPC y responde a solicitudes HTTP.

A continuación se detallan los pasos para ejecutar Nodos Completos Normales en la red Core.

Requisitos del sistema

Existen varios requisitos de sistema para configurar un nodo completo en Core.

Software

  • Sistema Operativo: Actualmente, un Nodo Validador de Core es compatible únicamente con los sistemas operativos macOS o Linux (Ubuntu 20.04 o superior).
  • Conectividad de Red: Conexión a internet estable, con baja latencia y alta disponibilidad
  • Configuración del Firewall: Abrir los puertos necesarios para permitir la comunicación con la red y otros nodos

Hardware

Un Nodo Completo en Core realiza varias tareas que demandan recursos, como almacenar datos de la blockchain, verificar bloques o transacciones, comunicarse con nodos pares y responder a solicitudes de la red, según su configuración. A diferencia de los validadores, los nodos completos no producen bloques, pero ayudan a propagar transacciones y bloques a través de la red. Cumplen un papel crucial en el mantenimiento de la integridad de los datos y el soporte de un entorno trustless (sin necesidad de confianza). Cumplen un papel crucial en el mantenimiento de la integridad de los datos y el soporte de un entorno trustless (sin necesidad de confianza):

  1. Recomendamos utilizar el repositorio de GitHub core-chain para construir y ejecutar directamente su nodo completo, ejecutando su nodo completo directamente desde nuestra base de código blockchain. Las instrucciones para crear el código fuente se pueden encontrar en el README del repositorio.

  2. Descargue el binario para nodo más reciente para Core Testnet desde GitHub de Core repositorio de lanzamientos. El binario para el nodo incluye los archivos de configuración de testnet relevantes. Descargue el último snapshot para testnet desde aquí. Tenga en cuenta que el método recomendado para sincronizar el nodo testnet es sincronizar desde el bloque génesis.

  3. Escriba el estado génesis localmente ejecutando el siguiente comando desde el directorio de su proyecto:

geth --datadir node init genesis.json

Deberías ver el siguiente resultado:

INFO [07-18|14:57:20.715] Maximum peer count                       ETH=25 LES=0 total=25
INFO [07-18|14:57:20.721] Allocated cache and file handles database=/Users/jackcrypto/go/core-chain/node/geth/chaindata cache=16 handles=16
INFO [07-18|14:57:20.724] Writing custom genesis block
INFO [07-18|14:57:20.725] Persisted trie from memory database nodes=25 size=87.18kB time=226.129µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [07-18|14:57:20.725] Successfully wrote genesis state database=chaindata hash=d90508…5c034a
INFO [07-18|14:57:20.725] Allocated cache and file handles database=/Users/jackcrypto/go/core-chain/node/geth/lightchaindata cache=16 handles=16
INFO [07-18|14:57:20.729] Writing custom genesis block
INFO [07-18|14:57:20.729] Persisted trie from memory database nodes=25 size=87.18kB time=178.332µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [07-18|14:57:20.730] Successfully wrote genesis state database=lightchaindata hash=d90508…5c034a
  1. Nuestro nodo completo está listo, ¡comencemos a ejecutarlo! Corre el siguiente comando para iniciar el nodo completo directamente:
## start a full node
geth --config ./config.toml --datadir ./node --cache 8000
  1. A medida que se ejecuta nuestro nodo completo, podemos monitorear sus registros para asegurarnos de que todo esté funcionando correctamente. El archivo de registro se encuentra en /node/logs/core.log de forma predeterminada, pero se puede cambiar a otra ubicación si lo desea.