Page cover image

Upgrade to 8.1.1 from 8.0.0

Quick update guide from 8.0.0 to 8.1.1

1. backing up current binaries

cd ~/.local/bin/

# let's create a folder with the version number
mkdir -p $(cardano-node version | grep -oP '(?<=cardano-node )[0-9\.]+')

# copying files to the created folder
cp cardano-node $(cardano-node version | grep -oP '(?<=cardano-node )[0-9\.]+')/
cp cardano-cli $(cardano-node version | grep -oP '(?<=cardano-node )[0-9\.]+')/

2. Upgrading and updating the system packages

# let's update the system first
sudo bash -c 'sudo apt-get update -y; sudo apt-get upgrade -y'

3. Updating the Cardano node requirements

ghcup install ghc 8.10.7
ghcup install cabal 3.8.1.0
ghcup set ghc 8.10.7
ghcup set cabal 3.8.1.0
sudo apt install -y libsodium-dev libtool autoconf make
mkdir -p ~/git && cd ~/git
rm -rf secp256k1
git clone https://github.com/bitcoin-core/secp256k1
cd secp256k1
git checkout ac83be33
./autogen.sh
./configure --enable-module-schnorrsig --enable-experimental
make
sudo make install

Update/ install new libsodium version

mkdir -p ~/git && cd ~/git
git clone https://github.com/input-output-hk/libsodium
cd libsodium
git checkout dbb48cc
./autogen.sh
./configure
make
sudo make install

4. Downloading configuration files (leaving old topology file in place):

cd ~/cnode/config

#downloading configuration files
curl -o config.json https://book.world.dev.cardano.org/environments/mainnet/config.json
curl -o byron-genesis.json https://book.world.dev.cardano.org/environments/mainnet/byron-genesis.json
curl -o shelley-genesis.json https://book.world.dev.cardano.org/environments/mainnet/shelley-genesis.json
curl -o alonzo-genesis.json https://book.world.dev.cardano.org/environments/mainnet/alonzo-genesis.json
curl -o conway-genesis.json https://book.world.dev.cardano.org/environments/mainnet/conway-genesis.json

# just in case you still have old naming 
mv mainnet-topology.json topology.json
#list downloaded files
ls -al *

5. Proceeding with Cardano Node binary updates

# let's create a directory where we will be downloading source code
cd ~ && mkdir -p git
cd git
# just in case you already had a source directory with cardano-node source code - let's delete it and download fresh one.
rm -rf cardano-node
# let's clone source code from git
git clone https://github.com/input-output-hk/cardano-node.git

cd cardano-node
git fetch --all --recurse-submodules --tags

# checking out the 8.1.1 version
git checkout tags/8.1.1
# adding extra flags for libsodium library
echo "package cardano-crypto-praos" >>  cabal.project.local
echo "  flags: -external-libsodium-vrf" >>  cabal.project.local
echo "with-compiler: ghc-8.10.7" >> cabal.project.local
# let's update cabal
cabal update
# now let's compile the code
cabal build all

And now we wait... it could take some while (1h+ ) to compile, depending on your server's CPU

Before the next step - STOP your node so it doesn't lock the carano-node file for overwriting

sudo systemctl stop cardano-node
mkdir -p ~/.local/bin
cp -p "$(./scripts/bin-path.sh cardano-node)" ~/.local/bin/
cp -p "$(./scripts/bin-path.sh cardano-cli)" ~/.local/bin/
# let's check if we have successfully installed the latst cardano-node and cardano-cli versions.
which cardano-node && which cardano-cli
cardano-node --version
cardano-cli --version

you should now have similar output:

Now we can start the Cardano node process

sudo systemctl daemon-reload
sudo systemctl start cardano-node

and check the log files if everything is starting up as planned:

journalctl -u cardano-node.service -f -o cat

that's it - you have upgraded your node to the latest cardano-node version, now do the same update on all of your other production servers (or copy generated cardano-cli / cardano-node bin files).

Need help? 👉🏼 Join our Telegram support Group: https://t.me/StakePool247help

Last updated