For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuración de un nodo

Archivos de configuración, topología P2P y parámetros clave para relay y block producer en mainnet. Cardano-node 11.x / Conway era.

Vamos a preparar los archivos de configuración que necesita cada nodo para arrancar y conectarse a la red principal de Cardano. Tenemos dos tipos de nodo: el relay (expuesto a internet) y el block producer (aislado, solo habla con tus relays).


Estructura de directorios

Antes de descargar nada, creamos la estructura base:

mkdir -p $HOME/cardano/relay/config
mkdir -p $HOME/cardano/bp/config
mkdir -p $HOME/cardano/relay/db
mkdir -p $HOME/cardano/bp/db

Usamos $HOME para evitar rutas hardcodeadas. Si prefieres una ubicación distinta (por ejemplo /opt/cardano), simplemente reemplaza $HOME/cardano en todos los comandos.


Descargar los archivos de configuración

Los archivos oficiales de mainnet están en:

https://book.world.dev.cardano.org/environments/mainnet/

Descargamos cada archivo explícitamente:

cd $HOME/cardano/relay/config

wget https://book.world.dev.cardano.org/environments/mainnet/config.json
wget https://book.world.dev.cardano.org/environments/mainnet/byron-genesis.json
wget https://book.world.dev.cardano.org/environments/mainnet/shelley-genesis.json
wget https://book.world.dev.cardano.org/environments/mainnet/alonzo-genesis.json
wget https://book.world.dev.cardano.org/environments/mainnet/conway-genesis.json
wget https://book.world.dev.cardano.org/environments/mainnet/topology.json

Luego copiamos los mismos archivos de génesis al BP (la topología será diferente):


Archivos de génesis

No necesitamos modificar estos archivos. Son parámetros de red firmados y el nodo los verifica al arrancar:

Archivo
Qué contiene

byron-genesis.json

Parámetros de la era Byron

shelley-genesis.json

Parámetros de Shelley (epoch length, slot duration, etc.)

alonzo-genesis.json

Parámetros de smart contracts (Plutus)

conway-genesis.json

Parámetros de gobernanza (Chang/Conway era)


config.json — qué necesitamos cambiar

El archivo descargado tiene más de 100 campos. No lo reemplazamos entero — abrimos el que descargamos y tocamos los campos que nos interesan:

Campos clave a revisar y ajustar

P2P habilitado (obligatorio):

Puerto de Prometheus (métricas para Grafana):

Puerto EKG (panel interno, útil para debug):

Nivel mínimo de logsInfo es suficiente en producción:

Rotación de logs:

Para el BP, podemos usar el mismo config.json del relay. La diferencia real está en la topología, no en la configuración del nodo.


Topología

Aquí es donde relay y BP tienen configuraciones completamente distintas.

Relay — P2P (formato actual)

El formato antiguo con "Producers" es legacy. Con P2P activo en mainnet, necesitamos el formato con localRoots, publicRoots y bootstrapPeers.

Qué significa cada sección:

  • bootstrapPeers — peers confiables para el arranque inicial, antes de tener el ledger sincronizado.

  • localRoots — peers que siempre queremos mantener conectados (nuestro BP). advertise: false significa que no anunciamos esta dirección a la red.

  • publicRoots — peers públicos para descubrimiento.

  • useLedgerAfterSlot — a partir de este slot, el nodo usa el ledger para descubrir peers. Dejamos el valor por defecto.

Reemplaza IP-DE-TU-BP con la IP privada de tu block producer.


Block Producer — topología simple

El BP solo necesita conectarse a sus propios relays. Sin peers públicos, sin bootstrapPeers:


Sincronización inicial — usa Mithril

Sincronizar el nodo desde cero puede llevar varios días. En lugar de esperar, vamos a usar Mithril para descargar un snapshot verificado criptográficamente.

Bootstrap con Mithril

Mithril es el método recomendado para la sincronización inicial. Reduce el tiempo de espera de días a menos de una hora.


Verificar los archivos

Antes de continuar, confirmamos que tenemos todo lo necesario:

Con los archivos en su lugar, el siguiente paso es configurar los servicios de systemd.

Última actualización