Hi all,
Here’s another upgrade guide for 10.5.3 for Coincashew users that like following along this way.
There may be some corrections needed to the guide, so let me know if you find any issues.
Thanks again to Coincashew for their updated guides too!
This is an important upgrade as announced by IOG. I am moving from 10.3.1 to 10.5.3, so you might need some different steps along the way if you have a different starting version.
As always, test first, then deploy.
Update your instance:
sudo apt-get update && sudo apt-get upgrade
Update your packages and tools, as there’s been a few new requirements since 10.3.1, e.g.
sudo apt-get install autoconf automake build-essential curl g++ git jq libffi-dev libgmp-dev libncurses-dev libssl-dev libsystemd-dev libtool make pkg-config tmux wget zlib1g-dev liblmdb-dev -y
You also need to install v0.3.14 of blst
cd $HOME/git
git clone https://github.com/supranational/blst
cd blst
git checkout v0.3.14
./build.sh
cat > libblst.pc << EOF
prefix=/usr/local
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include
Name: libblst
Description: Multilingual BLS12-381 signature library
URL: https://github.com/supranational/blst
Version: 0.3.14
Cflags: -I\${includedir}
Libs: -L\${libdir} -lblst
EOF
sudo cp libblst.pc /usr/local/lib/pkgconfig/
sudo cp bindings/blst_aux.h bindings/blst.h bindings/blst.hpp /usr/local/include/
sudo cp libblst.a /usr/local/lib
sudo chmod u=rw,go=r /usr/local/{lib/{libblst.a,pkgconfig/libblst.pc},include/{blst.{h,hpp},blst_aux.h}}
Download latest cardano-node git and checkout latest branch:
cd $HOME/git
git clone https://github.com/IntersectMBO/cardano-node.git cardano-node2
cd cardano-node2/
git fetch --all --recurse-submodules --tags
git checkout tags/10.5.3
Then upgrade ghcup and do a cabal update. Just a note, you can now use GHC 9.6.7 and cabal version 3.12.1.0
ghcup upgrade
ghcup install ghc 9.6.7
ghcup set ghc 9.6.7
ghcup install cabal 3.12.1.0
ghcup set cabal 3.12.1.0
cabal update
ghc --version
cabal --version
Note: make sure you have ghc 9.6.7 and cabal 3.12.1.0 before proceeding.
Build the node:
cd $HOME/git/cardano-node2
cabal configure -O0 -w ghc-9.6.7
cabal build cardano-node cardano-cli
Check cardano-cli and cardano-node that the build was successful:
$(./scripts/bin-path.sh cardano-node) version
$(./scripts/bin-path.sh cardano-cli) version
The cardano-node version should be 10.5.3 and cardano-cli is 10.11.0.0
Go get the new config files from Mainnet - The Cardano Operations Book (assuming mainnent, other get your relevant environment files)
Stop your node
sudo systemctl stop cardano-node
Then copy over the new executables
sudo cp -p "$(./scripts/bin-path.sh cardano-node)" /usr/local/bin/cardano-node
sudo cp -p "$(./scripts/bin-path.sh cardano-cli)" /usr/local/bin/cardano-cli
Again, check that successful version is reported:
cardano-node version
cardano-cli version
Then start your node.
sudo systemctl start cardano-node
Monitor the progress by either using gliveview or journalctl, and check if there’s any errors starting:
journalctl --unit=cardano-node --follow
Warning - this requires a full replay, so make sure you have many hours free for your relays or BP to work through it. You could also grab a mithril snapshot, but make sure you get the right one given the recent forking issue.
Then a quick clean up:
cd $HOME/git/
rm -rf cardano-node-old
mv cardano-node cardano-node-old
mv cardano-node2 cardano-node