1What the Divi node is
The original Divi node is the program the Divi network was built on. It is written in C++, descends from Bitcoin and Dash, and ships as three programs:
divid, the node. It downloads the chain, keeps your wallet, and stakes.divi-cli, the command line you use to talk to it.divi-tx, a small tool for building raw transactions by hand. You will not need it.
The newer IronDivi node does the same job in Rust and is where new work happens, so it is the one we suggest first. Pick the original node when you are on Windows, when you want a node that routes over Tor, or when you want the program the rest of the network has run since 2023. The two speak the same protocol and the same commands; IronDivi vs the C++ node lists the differences.
This tutorial runs it on testnet, the practice network where coins are worth nothing. Everything here works the same on the real network without testnet=1. If you would rather have a wallet with windows and buttons, Divi Desktop or BoxWallet install and run this same node for you.
2Pick your download
Every release is on the Divi releases page. The 9e2f76c in each file name is the source commit it was built from.
| Your computer | File |
|---|---|
| Linux, Intel or AMD | divi-3.0.0-x86_64-linux-gnu-9e2f76c.tar.gz |
| Mac, Intel or Apple silicon | divi-3.0.0-osx64-9e2f76c.tar.gz |
| Windows, 64-bit | divi-3.0.0-win64-9e2f76c.zip |
| Raspberry Pi (32-bit ARM) | divi-3.0.0-RPi2-9e2f76c.tar.gz |
The release notes list no checksums, so you cannot check a download against the author's list. These are the checksums of the files we downloaded on 2026-10-21; if yours match, you have the same files we tested.
- x86_64-linux-gnu:
d09933ab413335b7472b29c4c255d7affea73630b73a0d5c52aec40a63fbd276 - osx64:
0f5e93f1550e116d5becf7818a08f62e0500bbd3be4ea05ec9d49f183f52b32b - win64:
77feefbdc14a9321fb19e47c057bfe2e634809704cbc270b302a0d9c8463d386
3Install on Linux
Open a terminal. These four lines make a folder, download the release, check it, and unpack it:
mkdir -p ~/divi && cd ~/divi curl -LO https://github.com/DiviProject/Divi/releases/download/v3.0.0/divi-3.0.0-x86_64-linux-gnu-9e2f76c.tar.gz sha256sum divi-3.0.0-x86_64-linux-gnu-9e2f76c.tar.gz tar xzf divi-3.0.0-x86_64-linux-gnu-9e2f76c.tar.gz
You now have divi-3.0.0/bin/ with divid, divi-cli and divi-tx in it. Ask the node its version to prove it runs:
./divi-3.0.0/bin/divid -version
# what we got on Ubuntu 22.04 Divi Core Daemon version v3.0.0 Copyright (C) 2009-2023 The Bitcoin Core Developers … licence text …
Note the single dash: the original node writes its options as -version, -testnet, -datadir=…, where IronDivi uses two. That is the whole install; nothing runs as root. If you would rather type divid from anywhere, copy the programs into a folder on your PATH, such as ~/.local/bin.
4Install on a Mac
Open Terminal (Applications → Utilities). The same steps with the Mac file:
mkdir -p ~/divi && cd ~/divi curl -LO https://github.com/DiviProject/Divi/releases/download/v3.0.0/divi-3.0.0-osx64-9e2f76c.tar.gz shasum -a 256 divi-3.0.0-osx64-9e2f76c.tar.gz tar xzf divi-3.0.0-osx64-9e2f76c.tar.gz ./divi-3.0.0/bin/divid -version
The Mac build is an Intel program. On an Apple silicon Mac, macOS runs it through Rosetta, Apple's Intel translator, which it offers to install the first time an Intel program runs. With Rosetta in place it printed Divi Core Daemon version v3.0.0 for us on macOS 27 with an M-series chip. Because you downloaded with curl rather than a browser, macOS does not put its quarantine mark on the files. If you unpack with Finder and macOS refuses to open the programs, unpack again from Terminal as above.
5Install on Windows
Download divi-3.0.0-win64-9e2f76c.zip from the releases page and unzip it. Inside is divi-3.0.0\bin\ with divid.exe, divi-cli.exe and divi-tx.exe. Open a Command Prompt in that folder (type cmd in the folder's address bar) and run:
certutil -hashfile divi-3.0.0-win64-9e2f76c.zip SHA256 divid.exe -version
We checked the zip's contents and checksum but have no Windows machine, so we have not run the programs there. The settings file and every command below are the same on Windows, with the files living in %APPDATA%\DIVI\ instead of a dot folder.
6Start it on testnet
The node keeps everything in one data folder, with a testnet3 folder inside it for the test network:
- Linux:
~/.divi/testnet3 - Mac:
~/Library/Application Support/DIVI/testnet3 - Windows:
%APPDATA%\DIVI\testnet3
Before the first start, create the data folder and put a settings file called divi.conf in it, next to testnet3, not inside it. It tells the node to use testnet, to accept commands from divi-cli, and protects that command port with a name and password only your own machine needs to know:
mkdir -p ~/.divi nano ~/.divi/divi.conf
# divi.conf: one setting per line, no quotes testnet=1 server=1 daemon=1 rpcuser=pick-a-name rpcpassword=pick-a-long-random-password
No quotes, no spaces around the =, and to repeat a setting you repeat the line. (IronDivi's file is the other way round: quoted values, each key once.) daemon=1 sends the node to the background; leave it out if you prefer to keep it in its own window and stop it with Ctrl+C. Save, then start the node:
cd ~/divi ./divi-3.0.0/bin/divid
# what it prints
DIVI server starting
The first start takes a few minutes before it talks to anyone: it builds a new wallet first, and until that is done divi-cli answers Loading wallet... with a percentage instead of a result. On our server the node began looking for other nodes two and a half minutes after starting. The log at ~/.divi/testnet3/debug.log shows what it is doing:
DIVI version v3.0.0 (2023-07-06 11:00:42 -0600) Using data directory /home/you/.divi/testnet3 Using config file /home/you/.divi/divi.conf init message: Loading wallet... Generating new seed for wallet...! init message: Initializing P2P connections... Loading addresses from DNS seeds (could take a while) 3 addresses found from DNS seeds
Run ./divi-3.0.0/bin/divi-cli dumphdinfo. It prints a mnemonic: 24 words that recreate this wallet on any machine. Put them in a password manager, such as Proton Pass (free), 1Password, Bitwarden, Dashlane, Keeper or Apple Passwords, and never in a chat, a screenshot or an email. Doing it now is practice for the day the wallet holds real DIVI.
On testnet the node talks to other nodes on port 51474, the same as IronDivi, but listens for divi-cli on port 51475, where IronDivi uses 51473. Nothing to do unless you run both at once; then give one of them its own ports with port= and rpcport= lines in its settings file. divi-cli reads divi.conf, so it finds the right port and password by itself.
You can also keep everything in a folder of your choosing with -datadir=/some/folder on both programs; the settings file then goes in that folder.
7Check it, then stop it
Ask the node how far it has got and how many other nodes it is talking to:
./divi-3.0.0/bin/divi-cli getblockcount ./divi-3.0.0/bin/divi-cli getconnectioncount
# twenty minutes after a first start, on 2026-10-21
359947
4
The node asks the Divi DNS seeds for addresses and tries them one by one. In our run the first four connections arrived about four minutes after the start, and the block count then climbed until it matched the latest block on the testnet explorer, twenty minutes after the start, helped by a fast peer on the same machine. Over the internet alone, allow an hour or two.
Be patient before you change anything. Two more test nodes we started from the same home connection later that day got no peers at all in ten minutes, and the log said socket recv error Connection reset by peer (104): the seed nodes accepted the connection and dropped it straight after the handshake. An IronDivi node started at the same time was refused the same way for an hour and three quarters, then connected and synced normally. One of the two stuck nodes, started again four hours later, had a peer within three minutes and eleven thousand blocks a minute after that. We did not pin down the cause; that address already had dozens of connections open to the same peers from other nodes, which is unusual for a home. If you are stuck for more than an hour, add a line addnode=<address>:51474 to divi.conf for a node you know is up, restart, and check again.
./divi-3.0.0/bin/divi-cli getinfo
{
"version" : "3.0.0.0",
"protocolversion" : 70915,
"walletversion" : 120200,
"balance" : 0.00000000,
"blocks" : 359947,
"timeoffset" : 0,
"connections" : 4,
"proxy" : "",
"difficulty" : 7331.13552413,
"testnet" : true,
"moneysupply" : 708779665.69496620,
"relayfee" : 0.00010000,
"staking status" : "Staking Not Active",
"errors" : ""
}
To stop the node cleanly, ask it to stop. It finishes writing to disk and exits, which can take ten seconds or so:
./divi-3.0.0/bin/divi-cli stop
DIVI server stopping
Next time you start it, it carries on from where it left off. From here, every setting is in Config files explained, running it in the background for good is in Run a node as a service, and Get testnet DIVI puts some practice coins in the new wallet.
If something goes wrong
| You see | What it means |
|---|---|
error: couldn't connect to server from divi-cli | The node is not running, or divi-cli is reading a different divi.conf than the node (check -datadir). |
"code":-28,"message":"Loading wallet..." | The node is still starting. Wait a minute and ask again. |
getconnectioncount stays at 0 | Normal for the first few minutes, sometimes far longer (see step 7). Check that your firewall lets the program make outgoing connections. If it is still 0 after an hour, add addnode=<address>:51474 for a node you know is up, and restart. |
It prints Warning: Make sure to encrypt your wallet… and the terminal does not come back | You started it without daemon=1, so it is running in this window. That is fine; open another terminal for divi-cli, or press Ctrl+C to stop it. The warning itself is good advice: see Config files explained for the wallet settings. |
Still stuck? Ask the Divi chatbot, or see all tutorials.