Cardano uses its own distinct node implementation with specific setup considerations — this guide covers the basics of running cardano-node on a VPS.
VPS Requirements for a Cardano Node
See VPS Requirements for Running a Blockchain Node for general context — consult Cardano's official current documentation for specific minimum hardware requirements, since these are periodically updated as the protocol evolves.
Step 1 — Install Dependencies
sudo apt install -y automake build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev libsystemd-dev zlib1g-dev make g++ tmux git jq wget libncursesw5 libtool autoconf
Step 2 — Download the cardano-node Binary Release
wget https://github.com/IntersectMBO/cardano-node/releases/download/8.9.3/cardano-node-8.9.3-linux.tar.gz
tar -xzf cardano-node-8.9.3-linux.tar.gz
sudo mv cardano-node cardano-cli /usr/local/bin/
Using pre-built binaries is significantly simpler than building from source (which involves the Haskell toolchain and can be resource/time intensive) — recommended for most users.
Step 3 — Download Network Configuration Files
wget https://book.world.dev.cardano.org/environments/mainnet/config.json
wget https://book.world.dev.cardano.org/environments/mainnet/topology.json
wget https://book.world.dev.cardano.org/environments/mainnet/byron-genesis.json
wget https://book.world.dev.cardano.org/environments/mainnet/shelley-genesis.json
Cardano requires several network-specific configuration and genesis files — always download current versions from official sources rather than reusing potentially outdated files.
Step 4 — Start the Node
cardano-node run \
--topology topology.json \
--database-path db \
--socket-path node.socket \
--host-addr 0.0.0.0 \
--port 3001 \
--config config.json
Step 5 — Run as a systemd Service
[Unit]
Description=Cardano Node
After=network.target
[Service]
ExecStart=/usr/local/bin/cardano-node run --topology /opt/cardano/topology.json --database-path /opt/cardano/db --socket-path /opt/cardano/node.socket --host-addr 0.0.0.0 --port 3001 --config /opt/cardano/config.json
Restart=always
User=cardano
[Install]
WantedBy=multi-user.target
Checking Sync Progress
cardano-cli query tip --mainnet
Returns current sync status including the node's current slot versus the network tip — the primary way to monitor sync progress, similar in purpose to How to Monitor Blockchain Node Sync Status and Health but using Cardano-specific CLI tooling.
Understanding Initial Sync Time
Cardano's initial sync can take a genuinely substantial amount of time depending on your hardware and network — plan accordingly, and consider using a snapshot-based fast-sync approach (Mithril, Cardano's lightweight client bootstrapping protocol) if available and appropriate for your use case, since it can significantly reduce initial sync time compared to full historical sync.
Using Mithril for Faster Initial Bootstrap
Mithril provides cryptographically-verified snapshots enabling much faster initial node bootstrap than full historical sync — consult current official Cardano documentation for Mithril client setup, since this significantly improves the initial sync experience compared to traditional full sync.
Setting Up a Stake Pool (Beyond Basic Node Operation)
Running a Cardano stake pool (accepting delegation and producing blocks) is a significantly more involved undertaking than running a basic relay/full node — requires additional infrastructure (block-producing node plus relay nodes), specific security architecture, and genuine operational commitment; research thoroughly via official documentation before pursuing this path.
Common Errors
Node fails to start with configuration file errors — verify all downloaded configuration/genesis files are current and correctly matched to the network (mainnet vs testnet) you intend to run; using mismatched or outdated configuration files is a common setup mistake.
Continue Reading
- VPS Requirements for Running a Blockchain Node
- How to Monitor Blockchain Node Sync Status and Health
- How to Set Up a Validator Node for Proof-of-Stake Chains
Browse more articles in Cryptocurrency & Blockchain Node Hosting.