Guía de inicio rápido
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 está en desarrollo activo
En esta guía te guiaremos a través 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 continuación.
✅ Esta guía asume una configuración típica de Linux. Por favor ajusta los comandos y rutas según sea necesario.
Paso 1 - Descargar Binario de Dingo
Sección titulada «Paso 1 - Descargar Binario de Dingo»Descarga la última versión desde la página de versiones de Dingo.
⚠️ Ajusta la versión y la arquitectura para que coincidan con tu sistema.
mkdir -p ~/dingocd ~/dingowget https://github.com/blinklabs-io/dingo/releases/download/v0.35.1/dingo-v0.35.1-linux-amd64.tar.gz -O - | tar -xzPuedes verificar que el binario funciona ejecutando:
./dingo versionPaso 2 - Crear archivo de configuración dingo.yaml
Sección titulada «Paso 2 - Crear archivo de configuración dingo.yaml»Dingo incluye configuraciones de red de Cardano integradas (archivos de génesis, config.json) para preview, preprod y mainnet. No necesitas descargarlas por separado.
Crea un archivo dingo.yaml en tu directorio dingo. La variable $HOME se expandirá automáticamente a la ruta de tu directorio de inicio:
cat <<EOF > ~/dingo/dingo.yaml# Databasedatabase: blob: plugin: "badger" badger: block-cache-size: 0 compression: false data-dir: "$HOME/dingo/.dingo/badger" gc: true index-cache-size: 0 metadata: plugin: "sqlite" sqlite: data-dir: "$HOME/dingo/.dingo/metadata.db"databasePath: "$HOME/dingo/.dingo"
# Mempool# `mempoolCapacity` es una anulación opcional, no un ajuste requerido.# Predeterminado: 1 MiB para el modo Praos y el modo serve normal, y 25 MiB para el modo Leios.# Deja la clave comentada o omítela para usar el valor predeterminado del modo.# mempoolCapacity: 1048576
# Mithrilmithril: aggregatorUrl: "" cleanupAfterLoad: true enabled: true verifyCertificates: true
# NetworkbindAddr: "0.0.0.0"metricsPort: 12798network: "preview"privateBindAddr: "127.0.0.1"privatePort: 3002relayPort: 3001socketPath: "$HOME/dingo/dingo.socket"
# StorageblockfrostPort: 0meshPort: 0storageMode: "core"utxorpcPort: 0EOF💡 Para servir endpoints HTTP compatibles con Blockfrost, cambia
storageModea una configuración compatible con API y asigna un valor distinto de cero ablockfrostPort.
blockfrostPort: 3000storageMode: "api"utxorpcPort: 0💡 Configurar
block-cache-sizeeindex-cache-sizea 0 concompression: falseusa la caché de páginas del SO (mmap) en lugar de las cachés internas de BadgerDB. Esto reduce drásticamente el uso de memoria.
Paso 3 - Abrir Puertos
Sección titulada «Paso 3 - Abrir Puertos»Cubriremos cómo agregar reglas de firewall UFW para los puertos que Dingo necesita.
💡 Consejo: UFW significa Uncomplicated Firewall y se usa para administrar reglas de firewall iptables (netfilter).
Para ver qué puertos están actualmente abiertos:
sudo ufw status numberedAgregar puerto 3001 para comunicación Ouroboros Node to Node (NtN)
Sección titulada «Agregar puerto 3001 para comunicación Ouroboros Node to Node (NtN)»sudo ufw allow 3001/tcpPaso 4 - Iniciar desde instantánea de Mithril
Sección titulada «Paso 4 - Iniciar desde instantánea de Mithril»Dingo tiene un cliente Mithril integrado que descarga y carga una instantánea automáticamente. Esto ahorra horas de tiempo de sincronización en comparación con reproducir la cadena desde el génesis.
Ejecuta el siguiente comando desde tu directorio dingo:
cd ~/dingo./dingo mithril sync --config ~/dingo/dingo.yamlDingo:
- Descargará la última instantánea de Mithril para tu red configurada
- Verificará la cadena de certificados
- Cargará la instantánea en la base de datos
Esto toma aproximadamente 10-15 minutos dependiendo de tu sistema y velocidad de red.
📝 Si omites este paso, Dingo se sincronizará desde el génesis al iniciarse, lo que toma significativamente más tiempo.
Paso 5 - Iniciar Dingo
Sección titulada «Paso 5 - Iniciar Dingo»Una vez que la instantánea de Mithril se haya cargado, inicia el nodo:
cd ~/dingo./dingo serve --config ~/dingo/dingo.yamlDeberías ver la salida del registro mostrando el nodo conectándose a los pares y sincronizando los bloques restantes para alcanzar la punta de la cadena.
¿Interesado en usar un servicio systemd para ejecutar un nodo Dingo y maximizar el tiempo de actividad reiniciando automáticamente el nodo Dingo cuando la computadora se reinicia?
Sección titulada «¿Interesado en usar un servicio systemd para ejecutar un nodo Dingo y maximizar el tiempo de actividad reiniciando automáticamente el nodo Dingo cuando la computadora se reinicia?»Consulta nuestra guía sobre cómo crear un servicio de inicio para Dingo.
¡Felicidades, estás listo para comenzar a usar el nodo Dingo!
Sección titulada «¡Felicidades, estás listo para comenzar a usar el nodo Dingo!»Aprende cómo interactuar con Dingo usando la CLI de Cardano.