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

Bootstrap con Mithril

Cómo sincronizar un nodo de Cardano en minutos usando Mithril en lugar de esperar días a que sincronice desde el génesis.

¿Qué es Mithril?

Mithril es un protocolo de firmas multi-umbral basado en stake que permite generar y verificar snapshots certificados del estado de la blockchain de Cardano. En términos prácticos: en lugar de esperar días a que tu nodo sincronice desde el génesis, podés descargar un snapshot firmado criptográficamente y tener el nodo listo en menos de 20 minutos.

El snapshot es certificado por los stake pools participantes — no confiás ciegamente en un servidor central, el protocolo garantiza la integridad del estado.

Mithril es especialmente útil cuando levantás un nodo nuevo, después de una reinstalación, o cuando necesitás recuperar un nodo rápidamente tras un problema grave.


Descargar el cliente Mithril

El cliente de Mithril es un binario estático. Lo descargamos desde los releases oficiales:

# Verificamos la arquitectura del sistema
uname -m

# Descargamos el binario (ajustá la versión y arquitectura según corresponda)
MITHRIL_VERSION="latest"
curl -sSL https://github.com/input-output-hk/mithril/releases/latest/download/mithril-client-cli-x86_64-unknown-linux-gnu.tar.gz \
  | tar -xz -C ~/.local/bin/

# Verificamos
mithril-client --version

Para arquitecturas ARM (por ejemplo Raspberry Pi o servidores ARM en la nube), el binario se llama mithril-client-cli-aarch64-unknown-linux-gnu.tar.gz.


Configurar las variables de entorno

Necesitamos apuntar el cliente al agregador de mainnet y proveer la clave de verificación del génesis de Mithril. Estas variables se pueden definir en la sesión actual o agregarse al ~/.bashrc:

Para preprod o preview, los endpoints son:

  • Preprod: https://aggregator.release-preprod.api.mithril.network/aggregator

  • Preview: https://aggregator.pre-release-preview.api.mithril.network/aggregator

Y las claves de verificación están en la misma ruta del repo, en las carpetas release-preprod y pre-release-preview respectivamente.


Detener el nodo

Antes de restaurar la base de datos, el nodo debe estar detenido:


Hacer backup de la base de datos actual (opcional)

Si tenés datos que querés conservar o simplemente ser precavido:

De lo contrario, borramos directamente:


Descargar y restaurar el snapshot

Usamos el flag --include-ancillary para incluir el último estado del ledger y el último archivo immutable, lo que acelera significativamente el tiempo de arranque del nodo:

La opción --include-ancillary descarga el snapshot del ledger state además de los archivos immutable. Sin esta opción el nodo tendría que reconstruir el ledger desde los bloques al arrancar, lo que puede tomar horas adicionales.

Si el comando te pide una clave de verificación adicional (ANCILLARY_VERIFICATION_KEY), podés obtenerla del mismo repositorio de configuración de Mithril.

La descarga puede tardar entre 10 y 30 minutos dependiendo de tu conexión. Una vez completada, el cliente verifica la integridad criptográfica del snapshot automáticamente.


Reiniciar el nodo

Revisamos los logs para confirmar que está sincronizando correctamente:

Deberías ver que el nodo arranca y se pone al día con los últimos bloques en cuestión de minutos en lugar de días.


Verificar snapshots disponibles

Si querés ver los snapshots disponibles antes de descargar, o verificar qué se está ofreciendo en el agregador:

Última actualización