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

Ejecutar como un servicio

Configurar cardano-node como servicio de systemd en relay y block producer. Variables de entorno, logs con journalctl y comandos de gestión habituales.

Vamos a configurar los nodos como servicios de systemd. Así se inician automáticamente al arrancar el servidor y los gestionamos con systemctl como cualquier otro servicio del sistema.


Variables de entorno

Cada nodo necesita saber dónde están sus archivos y qué puertos usar. En lugar de meter todo en el archivo de servicio, usamos archivos de entorno separados — es más limpio y fácil de cambiar sin tocar el servicio.

En los ejemplos usamos TU_USUARIO como placeholder. Reemplázalo con tu nombre de usuario real (puedes verificarlo con whoami).

Crear el directorio de configuración

sudo mkdir -p /etc/cardano

Archivo de entorno — Relay

sudo nano /etc/cardano/relay.env
CARDANO_NODE_SOCKET_PATH=/home/TU_USUARIO/cardano/relay/db/node.socket
CONFIG=/home/TU_USUARIO/cardano/relay/config/config.json
TOPOLOGY=/home/TU_USUARIO/cardano/relay/config/topology.json
DB_PATH=/home/TU_USUARIO/cardano/relay/db
HOST_ADDR=0.0.0.0
PORT=3000

Archivo de entorno — Block Producer


Servicio systemd — Relay

+RTS -N -RTS le dice al runtime de Haskell que use todos los cores disponibles. En servidores dedicados está bien dejarlo así. Si el servidor comparte carga con otros procesos, puedes limitarlo con -N2 o -N4.


Servicio systemd — Block Producer

Arranca primero con la variante sin claves para verificar que el nodo sincroniza y conecta bien con los relays. Solo después activamos la forja de bloques.


Activar y arrancar los servicios

Cada vez que creamos o modificamos un archivo .service, recargamos systemd:

Habilitamos el arranque automático y levantamos los servicios:

enable hace que el servicio arranque al iniciar el servidor. start lo levanta ahora mismo sin necesidad de reiniciar.


Ver los logs

Para seguir los logs en tiempo real usamos journalctl:

Últimas 100 líneas sin seguimiento continuo:

Filtrar por fecha o errores:


Comandos de gestión habituales


Verificar que el socket existe

Una vez arrancado el nodo, verificamos que está funcionando:

Si cardano-cli query tip devuelve el slot actual de la cadena, el nodo está sincronizando correctamente.

Última actualización