Guia de Inicio Rapido
Un nodo de datos de la blockchain Cardano escrito en Go que participa activamente en las comunicaciones de red en la blockchain Cardano utilizando la familia de mini-protocolos Node-to-Node de la Red Ouroboros.
⚠️ Este es un trabajo en progreso y actualmente esta en desarrollo activo
En esta guia te guiaremos a traves de la descarga del binario de Dingo y todos los pasos necesarios para ejecutar el nodo Dingo en la red Cardano Preview. Para comenzar, sigue los pasos a continuacion.
✅ Esta guia asume una configuracion tipica de Linux. Por favor ajusta los comandos y rutas segun sea necesario.
Paso 1 - Descargar binario desde Blinklabs
Sección titulada «Paso 1 - Descargar binario desde Blinklabs»Paso 1-A - Primero comienza yendo a https://blinklabs.io/projects-open-source y desplazate hacia abajo hasta Dingo.
Paso 1-B - Selecciona el sistema operativo que deseas usar para ejecutar Dingo.
Paso 1-C - Puedes descargar el archivo binario y mover el archivo a tu ubicacion preferida o…

Copia la ruta desde Blinklabs y ejecuta el siguiente comando para descargar el archivo binario.
⚠️ Ajusta la ruta del enlace a la ruta correcta para la version que deseas descargar.
💡 Consejo: Puedes descargar la ultima version de Dingo desde la pagina https://github.com/blinklabs-io/dingo/releases.
Primero crearemos un directorio dingo para todos nuestros archivos relacionados con dingo antes de descargar el binario de Dingo.
mkdir dingocd dingowget https://github.com/blinklabs-io/dingo/releases/download/v0.15.1/dingo-v0.15.1-linux-amd64.tar.gz -O - | tar -xzMejores Practicas - Archivos Necesarios para Ejecutar Dingo
Sección titulada «Mejores Practicas - Archivos Necesarios para Ejecutar Dingo»Los siguientes archivos son necesarios para ejecutar Dingo. Te guiaremos a traves de los pasos para descargar y editar los archivos en los proximos pasos.
- dingo.yaml
- Configuracion del Nodo
- Topologia del Nodo
- Genesis de Byron
- Genesis de Shelley
- Genesis de Alonzo
- Genesis de Conway
Paso 2 - Descargar Archivo de Ejemplo dingo.yaml
Sección titulada «Paso 2 - Descargar Archivo de Ejemplo dingo.yaml»Para esta guia usaremos el archivo dingo.yaml. Lo descargaremos a nuestro directorio principal de dingo usando el siguiente comando:
wget -O - https://raw.githubusercontent.com/blinklabs-io/dingo/refs/heads/main/dingo.yaml.example > dingo.yamlPaso 3 - Crear Directorio y Descargar Archivos de Configuracion
Sección titulada «Paso 3 - Crear Directorio y Descargar Archivos de Configuracion»Crearemos un directorio para almacenar nuestros Archivos de Configuracion de Cardano. Para este ejemplo, la estructura de archivos que crearemos es /config/cardano/preview/ ejecutando el siguiente comando en nuestro directorio dingo:
mkdir -p config/cardano/previewAhora navegaremos a la carpeta config/cardano/preview y descargaremos los Archivos de Configuracion de Cardano
cd config/cardano/previewAhora descargaremos el archivo de configuracion de nodos no productores de bloques de la Testnet Preview de Cardano ejecutando:
wget https://book.play.dev.cardano.org/environments/preview/config.jsonA continuacion, descargaremos el archivo de Topologia de la Testnet Preview ejecutando:
wget https://book.play.dev.cardano.org/environments/preview/topology.json✅ Para este ejemplo usaremos el archivo de topologia predeterminado, como se ve a continuacion, solo para que el nodo funcione y se sincronice. Dingo soporta todos los archivos de topologia actuales y heredados.
{ "bootstrapPeers": [ { "address": "preview-node.play.dev.cardano.org", "port": 3001 } ], "localRoots": [ { "accessPoints": [], "advertise": false, "trustable": false, "valency": 1 } ], "publicRoots": [ { "accessPoints": [], "advertise": false } ], "useLedgerAfterSlot": 73267000}Por ultimo, descargaremos los archivos Genesis de Byron, Shelley, Alonzo y Conway
wget https://book.play.dev.cardano.org/environments/preview/byron-genesis.json \https://book.play.dev.cardano.org/environments/preview/shelley-genesis.json \https://book.play.dev.cardano.org/environments/preview/alonzo-genesis.json \https://book.play.dev.cardano.org/environments/preview/conway-genesis.json💡 Consejo: Los Archivos de Configuracion de Cardano se pueden encontrar en https://book.play.dev.cardano.org/environments.html
Paso 4 - Editar Archivo dingo.yaml
Sección titulada «Paso 4 - Editar Archivo dingo.yaml»Ahora que tenemos los archivos de configuracion necesarios, editaremos el archivo dingo.yaml para apuntar a los directorios y archivos correctos. Para editar este archivo, ejecutaremos:
cd ~/dingonano dingo.yaml✅ Para este ejemplo, guardamos el archivo dingo.yaml en nuestro directorio principal de dingo, asi que usaremos
cd ~/dingopara volver a ese directorio, por favor ajusta la ruta y el nombre del archivo si es necesario.
Agregar rutas a dingo.yaml
Sección titulada «Agregar rutas a dingo.yaml»Agregaremos una ruta a nuestro archivo de topologia y verificaremos nuestra ruta al archivo config.json de Cardano. Si usaste una ruta diferente a ./config/cardano/preview por favor ajusta segun sea necesario.
# Archivo de configuracion de ejemplo para dingo# Los valores mostrados a continuacion corresponden a los valores predeterminados en el codigo
# Direccion de enlace publico para el servidor DingobindAddr: "0.0.0.0"
# Ruta al archivo de configuracion del nodo Cardano## Puede ser anulado con la variable de entorno configcardanoConfig: "./config/cardano/preview/config.json"
# Un directorio que contiene los archivos de base de datos del libro mayordatabasePath: ".dingo"
# Ruta al archivo de socket de dominio UNIX usado por el servidorsocketPath: "dingo.socket"
# Nombre de la red Cardanonetwork: "preview"
# Ruta del archivo de certificado TLS (para HTTPS)## Puede ser anulado con la variable de entorno TLS_CERT_FILE_PATHtlsCertFilePath: ""
# Ruta del archivo de clave TLS (para HTTPS)## Puede ser anulado con la variable de entorno TLS_KEY_FILE_PATHtlsKeyFilePath: ""
# Ruta al archivo de configuracion de topologia para el nodo Cardanotopology: "./config/cardano/preview/topology.json"
# Puerto TCP para enlazar el endpoint de metricas de PrometheusmetricsPort: 12798
# Direccion interna/privada para enlazar y escuchar Ouroboros NtCprivateBindAddr: "127.0.0.1"
# Puerto TCP para enlazar y escuchar Ouroboros NtCprivatePort: 3002
# Puerto TCP para enlazar y escuchar Ouroboros NtN## Puede ser anulado con la variable de entorno portrelayPort: 3001
# Puerto TCP para enlazar y escuchar UTxO RPCutxorpcPort: 9090
# Ignorar el historial de cadena anterior y comenzar desde la punta actual (predeterminado: false)# Esto es experimental y puede fallar — usar con precaucionintersectTip: false
# Tamano maximo de cache en bytes usado por BadgerDB para cache de bloques/indices# Predeterminado: 1073741824 (1 GB)badgerCacheSize: 1073741824
# Tamano total maximo (en bytes) de todas las transacciones permitidas en el mempool.# Las transacciones que excedan este limite seran rechazadas.# Predeterminado: 1048576 (1 MB)mempoolCapacity: 1048576Paso 5 - Abrir Puertos
Sección titulada «Paso 5 - Abrir Puertos»Cubriremos como listar y agregar reglas de firewall UFW para agregar los puertos necesarios. Ajusta segun sea necesario.
💡Consejo: UFW significa Uncomplicated Firewall y se usa para administrar reglas de firewall iptables (netfilter).
Para ver que puertos estan actualmente abiertos podemos ejecutar:
sudo ufw status numberedAgregar Puerto 3001 para Comunicacion Ouroboros Node to Node (NtN)
Sección titulada «Agregar Puerto 3001 para Comunicacion Ouroboros Node to Node (NtN)»Para sincronizar la cadena y pasar datos entre nodos necesitamos abrir el puerto 3001 o el puerto que hayas seleccionado. Para abrir el puerto 3001 ejecutaremos:
sudo ufw allow 3001/tcpAgregar Puerto 9090 para UTxO RPC (Opcional)
Sección titulada «Agregar Puerto 9090 para UTxO RPC (Opcional)»Tambien podrias querer agregar el puerto 9090 o el puerto que hayas seleccionado para UTxO RPC si deseas acceder a datos de cadena o transacciones. Podemos abrir el puerto 9090 ejecutando:
⚠️ Precaucion al exponer este puerto fuera de tu maquina local.
sudo ufw allow 9090/tcpPaso 6 - Iniciar sincronizacion de Blockchain usando Mithril Client (Opcional)
Sección titulada «Paso 6 - Iniciar sincronizacion de Blockchain usando Mithril Client (Opcional)»Podemos acelerar la sincronizacion inicial de los bloques, tambien conocida como reproduccion de bloques, usando el Mithril Client para descargar una instantanea de Mithril. Esto podria ahorrarte horas de tiempo de sincronizacion.
Paso 6.1 - Crear carpeta Mithril
Sección titulada «Paso 6.1 - Crear carpeta Mithril»Crearemos una carpeta dentro de nuestra carpeta dingo que usaremos para descargar el binario de mithril. Para crear una carpeta en nuestra carpeta dingo podemos ejecutar:
cd ~/dingomkdir mithrilPaso 6.2 - Descargar Mithril Client
Sección titulada «Paso 6.2 - Descargar Mithril Client»Ahora podemos descargar el binario del Mithril Client ejecutando lo siguiente:
⚠️ Ajusta la ruta del enlace a la ruta correcta para la version que deseas descargar.
💡 Consejo: Puedes descargar la ultima version de Mithril desde la pagina https://github.com/input-output-hk/mithril/releases.
cd mithrilwget https://github.com/input-output-hk/mithril/releases/download/2524.0/mithril-2524.0-linux-x64.tar.gz -O - | tar -xzPaso 6.3 - Exportar Variables de Entorno
Sección titulada «Paso 6.3 - Exportar Variables de Entorno»Exportaremos las siguientes variables de entorno para descargar la instantanea de Mithril. Ejecuta estos comandos:
Variable de red Preview:
export NETWORK=previewVariable de endpoint:
export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregatorVariable de clave de verificacion genesis:
export GENESIS_VERIFICATION_KEY=$(curl -s https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/pre-release-preview/genesis.vkey)Paso 6.4 - Encontrar Ultima Instantanea y Descargarla
Sección titulada «Paso 6.4 - Encontrar Ultima Instantanea y Descargarla»💡 Consejo: Mithril crea el directorio db/ en tu carpeta actual. En nuestro caso, la carpeta
mithrilque creamos.
Primero, ejecutamos lo siguiente para obtener la lista actual de instantaneas
./mithril-client cardano-db snapshot listPara ver la instantanea actual ejecutamos:
./mithril-client cardano-db snapshot show latestDescarga la instantanea actual ejecutando:
./mithril-client cardano-db download latestEsto toma algo de tiempo, quizas hasta 10 minutos en preview basado en tu sistema. Puedes ver el progreso en pantalla.
Paso 6.5 - Cargar instantanea en la base de datos de Dingo
Sección titulada «Paso 6.5 - Cargar instantanea en la base de datos de Dingo»Ahora podemos volver a nuestro directorio dingo ejecutando:
cd ~/dingoAhora cargaremos la instantanea de Mithril en dingo ejecutando el siguiente comando:
./dingo load ~/dingo/mithril/db/immutableDingo ahora cargara los bloques en la base de datos de dingo copiandolos y cargandolos ejecutando una reproduccion del libro mayor. Esto tambien tomara algo de tiempo, hasta 2 horas dependiendo de tu sistema.

📝 Si eliges no cargar una instantanea de Mithril puedes iniciar dingo con el comando
./dingoy dejar que el proceso normal de chainsync comience. Tomara varias horas mas que usando una instantanea de Mithril para que la cadena se sincronice.
¿Interesado en usar un servicio systemd para ejecutar un Nodo Dingo para maximizar el tiempo de actividad reiniciando automaticamente el nodo Dingo cuando la computadora se reinicia?
Sección titulada «¿Interesado en usar un servicio systemd para ejecutar un Nodo Dingo para maximizar el tiempo de actividad reiniciando automaticamente el nodo Dingo cuando la computadora se reinicia?»Consulta nuestra guia sobre como crear un servicio de inicio para Dingo.
¡Felicidades, estas listo para comenzar a usar el nodo Dingo!
Sección titulada «¡Felicidades, estas listo para comenzar a usar el nodo Dingo!»Aprende como interactuar con Dingo usando la CLI de Cardano.