1See what you run now
Ask the running node for its version, and write down its balance and addresses so you can compare them afterwards. The steps use testnet on Linux, set up as in Install IronDivi. On the real network, leave out --testnet. The commands assume irondivi-cli is on your PATH; if it is not, run ./irondivi-x86_64-linux-musl/irondivi-cli from ~/irondivi.
irondivi-cli --testnet getnetworkinfo | grep subversion "subversion": "/IronDivi:0.2.5/", irondivi-cli --testnet getbalance 1000.0 irondivi-cli --testnet listreceivedbyaddress 0 true | grep '"address"' > ~/addresses-before.txt
listreceivedbyaddress 0 true lists the wallet's addresses with what each has received, and the grep keeps only the address lines, so the list can be compared after the upgrade. (Older copies of this page used getaddressesbylabel "". That listed every address up to 0.2.5, but 0.2.6 reads the label properly and answers No addresses with label.) Our node was at block 361,652 with one address and one transaction.
Then look at the IronDivi releases page. On 22 October 2026 the newest was v0.2.6, released that day. v0.2.5 came out on 8 October.
2Download and check the new version
Do this while the old node keeps running, so it is down for as short a time as possible. Use a new folder so nothing overwrites the old program yet:
mkdir -p ~/irondivi/0.2.6 && cd ~/irondivi/0.2.6 curl -LO https://github.com/DiviDomains/IronDivi/releases/download/v0.2.6/irondivi-x86_64-linux-musl.tar.gz sha256sum irondivi-x86_64-linux-musl.tar.gz 35735a2f3d1f9ec1728d295d5a611a010ade4cdd27bda662032b458a63e0a1fc irondivi-x86_64-linux-musl.tar.gz tar xzf irondivi-x86_64-linux-musl.tar.gz ./irondivi-x86_64-linux-musl/irondivid --version irondivid 0.2.6
Compare the long string with the sha256: value next to the file on the release page, or with its line in the release's SHA256SUMS file. If they differ, delete the file and do not run it. The package holds irondivid, irondivi-cli, a licence and a README.
3Stop the node
The node you are stopping is the old version, and up to 0.2.5 irondivi-cli stop did not work: it printed Divi server stopping, but our 0.2.5 node was still running 60 seconds later, as 0.2.4 had been. Send the process the stop signal instead and wait until it is gone:
kill $(pgrep irondivid) pgrep irondivid || echo stopped
Ours exited 2 seconds after kill. From 0.2.6 on, irondivi-cli --testnet stop does stop the node, so the next upgrade can use it. If you run IronDivi as a service, use sudo systemctl stop irondivid instead, as in Run your node as a service.
4Back up the wallet
IronDivi keeps its wallet in a folder called wallet inside the data folder. Pack it while the node is stopped, and keep the file private, because it holds your keys:
tar -czf ~/irondivi-wallet-backup.tar.gz -C ~/.irondivi/testnet wallet chmod 600 ~/irondivi-wallet-backup.tar.gz
Ours was 3.5 MB. On the real network the folder is ~/.irondivi/wallet, so use -C ~/.irondivi.
5Swap the programs and start
Rename the old program folder, keep it for step 7, and move the new one into its place. The path stays the same, so a service file or an alias that points at it needs no change:
cd ~/irondivi mv irondivi-x86_64-linux-musl irondivi-0.2.5 mv 0.2.6/irondivi-x86_64-linux-musl . ./irondivi-x86_64-linux-musl/irondivid --testnet --daemon
If you copied the programs into ~/.local/bin or another folder on your PATH, copy the new irondivid and irondivi-cli there too, or you will start the old one again. Or start the service again with sudo systemctl start irondivid. Nothing has to be converted: 0.2.6 used the chain and the wallet as 0.2.5 left them. Ours answered after 11 seconds, one block further on, and its log said:
Loading wallet from "/home/you/.irondivi/testnet/wallet" Wallet loaded: 1 keys, 1 UTXOs, 1 transactions, 0 accounts, 0 scripts, balance = 1000 DIVI UTXO reconciliation complete: all 1 wallet UTXOs verified against chain
6Check the upgrade
irondivi-cli --testnet getnetworkinfo | grep subversion "subversion": "/IronDivi:0.2.6/", irondivi-cli --testnet getbalance 1000.0 irondivi-cli --testnet listreceivedbyaddress 0 true | grep '"address"' > ~/addresses-after.txt diff ~/addresses-before.txt ~/addresses-after.txt && echo "addresses identical" addresses identical irondivi-cli --testnet getconnectioncount
A minute after the start our node had 6 connections and had taken in two more blocks. If the balance is lower while the node is still catching up, wait until it reaches the tip and check again.
7Going back
If the new version misbehaves, stop it and put the old folder back. 0.2.6 stops with irondivi-cli; kill works too:
irondivi-cli --testnet stop pgrep irondivid || echo stopped cd ~/irondivi mv irondivi-x86_64-linux-musl irondivi-0.2.6 mv irondivi-0.2.5 irondivi-x86_64-linux-musl ./irondivi-x86_64-linux-musl/irondivid --testnet --daemon
We tried it: 0.2.6 was gone 0.3 seconds after stop, and 0.2.5 started on the data 0.2.6 had used, showed the same balance and the same address, and took in a new block about three minutes later. Then we switched back to 0.2.6. That held for these two versions. A later version may change the data so an older one cannot read it, so read the release notes before you upgrade. If the wallet itself is ever damaged, stop the node, move the wallet folder aside and unpack your backup with tar -xzf ~/irondivi-wallet-backup.tar.gz -C ~/.irondivi/testnet.
8The original Divi node
Divi 3.0.0, from 14 July 2023, is still the newest version of the original node; the one before it was 2.5.1. If you followed Install the Divi node, you already run the newest, and there is nothing to upgrade. We could not test an upgrade, because there is no newer version to upgrade to.
If one comes out, the same order applies: check it, stop the node with divi-cli stop (which does work on the original node), copy wallet.dat, swap the program folder and start it. Read the release notes first for anything extra, such as a one-time -reindex.
If something goes wrong
| What you see | What to do |
|---|---|
irondivi-cli stop says Divi server stopping but pgrep irondivid still finds it | Expected when the running node is 0.2.5 or older. Use kill (step 3). 0.2.6 stops. |
| The sha256 does not match the release page | Delete the file and download it again. Never run a file that does not match. |
The new node exits at once, and debug.log in the data folder says While lock file: …/chainstate/LOCK: Resource temporarily unavailable | The old node is still running. Stop it and wait until pgrep irondivid finds nothing. |
getnetworkinfo still shows the old version | The old program started. Check which file your command or service file points at, and any copy on your PATH. |
The log says Creating new wallet | The node is using a different data folder. Stop it and start it with the right --datadir. Your wallet is untouched. |
| The balance is 0 or lower than before | Wait until the node reaches the tip. If it is still wrong, go back (step 7) and restore the wallet backup. |
Next: run your node as a service, or recover a chain if a node will not start.