Upgrade to 10.1.1 for og Coincashew users

Hi all,

Here’s another upgrade guide for 10.1.1 for the og Coincashew users that have the older folder structure and file names.

The is the Chang#2 hardfork version. No need to rush this out to mainnet yet, but update your testnet nodes as you see fit.

As always, test first, then deploy.

Update your instance:

sudo apt-get update && sudo apt-get upgrade

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.1.1

Then upgrade ghcup and do a cabal update.

ghcup upgrade
ghcup install ghc 8.10.7
ghcup set ghc 8.10.7
ghcup install cabal 3.8.1.0
ghcup set cabal 3.8.1.0
cabal update
ghc --version
cabal --version

Note: make sure you have ghc 8.10.7 and cabal 3.8.1.0 before proceeding.

Build the node:

cd $HOME/git/cardano-node2
cabal configure -O0 -w ghc-8.10.7
cabal build cardano-node cardano-cli

As a note, if you are on Ubuntu 22.04, you will need to add a constraint to your cabal.project.local file to force it to use the right HsOpenSSL, i.e. constraints: HsOpenSSL ==0.11.7.2

Or something like this

cd $HOME/git/cardano-node2
cabal configure -O0 -w ghc-8.10.7
echo "constraints: HsOpenSSL ==0.11.7.2" >> cabal.project.local
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.1.1 and cardano-cli is 10.0.0.0

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.

Then a quick clean up:

cd $HOME/git/
rm -rf cardano-node-old
mv cardano-node cardano-node-old
mv cardano-node2 cardano-node
4 Likes

Can you share a bit more info on the changes you allueded to? folders et al?

1 Like

I just noticed that instead of the file names that I had from an earlier Coincashew guide (2 years ago +), such as mainnnet-config.json, they just now use config.json, i.e. as per the file names provided by Intersect.

It’s not a big deal really, and it probably didn’t warrant mentioning.

2 Likes

Thanks!

Any other things to note if we prefer doing the upgrade manually?

No, it is a straight forward upgrade. Just takes time for the replay.

This version appears to change the block schedule check command. This wont work anymore:

cardano-cli query leadership-schedule --mainnet --genesis $NODE_HOME/shelley-genesis.json --stake-pool-id $(cat $NODE_HOME/stakepoolid.txt) --vrf-signing-key-file $NODE_HOME/vrf.skey --current --socket-path $NODE_HOME/db/socket

You now have to add “conway” to the command :

cardano-cli **conway** query leadership-schedule \
--mainnet \
--genesis $NODE_HOME/shelley-genesis.json \
--stake-pool-id $(cat $NODE_HOME/stakepoolid.txt) \
--vrf-signing-key-file $NODE_HOME/vrf.skey \
--next
2 Likes

Hi @jeremyisme, I assume this guide will also work for 10.1.3? I can’t seem to find any information that would suggest otherwise.

Yep, I expect so. I’ve used it for 10.1.2.

1 Like

If upgrading from 9.1.0 directly to 10.1.4, do I need to redownload/edit the json files or will the ones I already use for 9.1.0 still work as is? I’m used to seeing instructions to update these per ea, “Upgrade to ###” post I’ve found here.

ie.config, byron-genesis, shelley-genesis, alonzo-genesis, conway-genesis, topology? I had kept the names as original coincashew: mainnet-byron-genesis.json etc. and updated the names in a newly named mainnet-config.json file.

Yes, you’ll need new config files. 9.xx is old. I suspect you’ll also need to get your p2p config sorted when you upgrade, unless you were already running p2p on 9.x

It won’t hurt to just get all new config and genesis files, just keep your old ones as you might have made some customisations and there are some changes in the ones, like tracemempool is off by default.

Note, the latest version is now 10.1.4 and you should upgrade to that, not 10.1.1, etc.

Thanks, Jeremy. I built 10.1.4 tonight on my bp & 2 relays & it’s replaying blocks for another few hours. I found what seems to be the latest json files @ Mainnet - The Cardano Operations Book. Will move my old ones into an archive & use the new ones.

I have never setup p2p.

Good.

ECP has a good guide for p2p here P2P Topology File Explained | How to Guides for Coincashew Method Cardano SPOs

Awesome, thanks again, Jeremy!