Dingo Node Setup
✅ This guide assumes a typical Linux setup. Please adjust commands and paths as needed.
Step 1 - Create Working Directory
Section titled “Step 1 - Create Working Directory”We will create a directory for all our files related to the pool setup.
First export directory path to .bashrc by running:
echo 'export DINGO_HOME=~/dingo-testnet-preview' >> ~/.bashrcsource ~/.bashrcNext create directory:
mkdir -p "$DINGO_HOME"✅ You can verify by running:
echo $DINGO_HOME
Step 2 - Download Dingo Binary
Section titled “Step 2 - Download Dingo Binary”Download the latest release from the Dingo releases page.
⚠️ Adjust the version and architecture to match your system.
cd $DINGO_HOMEwget https://github.com/blinklabs-io/dingo/releases/download/v0.70.10/dingo-v0.70.10-linux-amd64.tar.gz -O - | tar -xz✅ You can verify the binary version by running:
./dingo versionMove the Dingo binary to /usr/local/bin/ so it is accessible system-wide.
Copy the binary:
sudo cp $DINGO_HOME/dingo /usr/local/bin/✅ You can verify the binary was copied by running:
which dingo
Step 3 - Download the Cardano-CLI Binary
Section titled “Step 3 - Download the Cardano-CLI Binary”Download the Cardano-CLI binary and run the following command:
cd $DINGO_HOMEwget https://github.com/IntersectMBO/cardano-cli/releases/download/cardano-cli-11.2.3.1/cardano-cli-11.2.3.1-x86_64-linux.tar.gz -O - | tar -xzThe Cardano-CLI latest releases repo can be found here: https://github.com/IntersectMBO/cardano-cli/releases page.
Move cardano-cli to /usr/local/bin by running:
sudo mv cardano-cli-x86_64-linux /usr/local/bin/cardano-cli✅ You can verify the cardano-cli version by running:
cardano-cli versionWe need the Shelley Genesis JSON file to run some of our CLI commands.
For this example, we will use the following directory structure: $DINGO_HOME/config/. The following command will create the directory and move into that directory:
mkdir -p "$DINGO_HOME/config" && cd "$DINGO_HOME/config"To download the Shelley Genesis file, run:
wget https://book.play.dev.cardano.org/environments/preview/shelley-genesis.json💡 Tip: Cardano Configuration Files can be found at https://book.play.dev.cardano.org/env-preview.html
Step 4 - Add Environment Variables
Section titled “Step 4 - Add Environment Variables”Open your bashrc:
nano ~/.bashrcAdd the environment variables:
export CARDANO_NODE_NETWORK_ID=2export CARDANO_NODE_SOCKET_PATH="$DINGO_HOME/dingo.socket"💡 Tip: 2 = Preview.
Save and exit.
Reload your bashrc:
source ~/.bashrc✅ You can verify your environment variables by running:
echo $CARDANO_NODE_NETWORK_IDecho $CARDANO_NODE_SOCKET_PATH
Step 5 - Create dingo.yaml Configuration File
Section titled “Step 5 - Create dingo.yaml Configuration File”Dingo ships with embedded Cardano network configurations (genesis files and config.json) for preview, preprod, and mainnet. So you do not need to download them separately.
- First create needed directories:
sudo mkdir -p /etc/dingoThen create the .dingo directory:
mkdir -p $DINGO_HOME/.dingo- Then create
dingo.yamlfile:
The
$DINGO_HOMEvariable will automatically expand to your home directory path in the command provided below.
sudo bash -c "cat <<EOF > /etc/dingo/dingo.yaml# Global data directory for both blob and metadata storage plugins.# Can be overridden with CARDANO_DATABASE_PATH or --data-dir.databasePath: \"$DINGO_HOME/.dingo\"
# Networknetwork: \"preview\"relayPort: 3001socketPath: \"$DINGO_HOME/dingo.socket\"
EOF"You can view and check your dingo.yaml file by running:
sudo nano /etc/dingo/dingo.yaml💡 Tip: Make sure port 3001 is open.
sudo ufw allow 3001/tcp
Step 6 - Create dingo.service Unit File
Section titled “Step 6 - Create dingo.service Unit File”Create the systemd service file. ⚠️ Replace YOUR_USER with your Linux username (run echo $USER to confirm):
cat <<ENDFILE | sudo tee /etc/systemd/system/dingo.service > /dev/null[Unit]Description=Dingo NodeAfter=network-online.target
[Service]Type=simpleRestart=on-failureRestartSec=10User=YOUR_USERExecStart=/usr/local/bin/dingo serve --config /etc/dingo/dingo.yamlSyslogIdentifier=dingoTimeoutStopSec=5
[Install]WantedBy=multi-user.targetENDFILE✅ You can view and check your dingo.service file by running:
sudo nano /etc/systemd/system/dingo.serviceStep 7 - Enable and Start the Service
Section titled “Step 7 - Enable and Start the Service”Enable the service to start on boot, then start it:
sudo systemctl daemon-reloadsudo systemctl enable dingo.servicesudo systemctl start dingo.serviceStep 8 - Check Status
Section titled “Step 8 - Check Status”✅ Verify the service is running:
sudo systemctl status dingo.serviceTo follow the logs in real time:
sudo journalctl -u dingo -fTo see recent logs if there is an error:
sudo journalctl -u dingo -n 50 --no-pagerCongratulations! Your Dingo node should now be syncing.
Make sure the node is fully synced before proceeding.
Section titled “Congratulations! Your Dingo node should now be syncing. Make sure the node is fully synced before proceeding.”Run this command to see if the node is 100% synced.
cardano-cli query tip