Upgrade to 9.1.0 for Coincashew Users

Hi all,

Here’s another upgrade guide for 9.1.0 for Coincashew users.

The is the hardfork version. It now includes the Conway Genesis file. If you are happy and want Cardano to move through to the new era, then install this build and get new blocks minted using 9.1.0!

As always, test first, then deploy.

This assumes you’re running a relatively recent build. It also isn’t strictly necessary to build the node from source, as there are executables downloadable from the github repo, but some still like to build, like me. So if you don’t want to build, don’t!

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/9.1.0

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 9.1.0 and cardano-cli is 9.2.1.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

You need to download the new Conway Genesis file. You will also need to download the new node config files (different between BP and relay). Or, edit your current config with the new hash for the new Conway Genesis file.

Take note that if you download the new config file, it includes a “minNodeVersion” variable of 8.12.0, so you can’t mix it with older node versions.

Config files here:
https://book.world.dev.cardano.org/env-mainnet.html

Conway hash:

"ConwayGenesisFile": "conway-genesis.json",
  "ConwayGenesisHash": "15a199f895e461ec0ffc6dd4e4028af28a492ab4e806d39cb674c88f7643ef62",

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 - if upgrading from 8.9.4 or earlier, 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
9 Likes

Hi All

I’m upgrading from 8.1.2 to 9.1.0, following this coincashew guide. (My original install was done following Coincashew’s guide)

When I run the build command, I get this error:
(I am on Ubuntu 22.04 - arm64, so I have tried with and without
echo “constraints: HsOpenSSL ==0.11.7.2” >> cabal.project.local)
Tried running cabal clean and cabal update

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

'cabal.project.local' already exists, backing it up to 'cabal.project.local~'.
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: cardano-node-9.1.0 (user goal)
[__1] next goal: text (dependency of cardano-node)
[__1] rejecting: text-1.2.4.1/installed-1.2.4.1 (conflict: cardano-node =>
text>=2.0)
[__1] trying: text-2.1.1
[__2] trying: ouroboros-consensus-cardano-0.18.0.0 (dependency of
cardano-node)
[__3] trying: cardano-ledger-mary-1.6.1.0 (dependency of
ouroboros-consensus-cardano)
[__4] next goal: base (dependency of cardano-node)
[__4] rejecting: base-4.14.3.0/installed-4.14.3.0 (conflict: text => base<0 &&
>=4.10 && <5)
[__4] skipping: base-4.20.0.1, base-4.20.0.0, base-4.19.1.0, base-4.19.0.0,
base-4.18.2.1, base-4.18.2.0, base-4.18.1.0, base-4.18.0.0, base-4.17.2.1,
base-4.17.2.0, base-4.17.1.0, base-4.17.0.0, base-4.16.4.0, base-4.16.3.0,
base-4.16.2.0, base-4.16.1.0, base-4.16.0.0, base-4.15.1.0, base-4.15.0.0,
base-4.14.3.0, base-4.14.2.0, base-4.14.1.0, base-4.14.0.0, base-4.13.0.0,
base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0, base-4.10.0.0,
base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0, base-4.8.0.0,
base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1, base-4.6.0.0,
base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0, base-4.3.1.0,
base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0, base-4.1.0.0,
base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (has the same characteristics that
caused the previous version to fail: excluded by constraint '<0 && >=4.10 &&
<5' from 'text')
[__4] fail (backjumping, conflict set: base, cardano-node, text)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: cardano-node, aeson, text,
ouroboros-consensus-cardano, cardano-ledger-mary, base, integer-conversion
Try running with --minimize-conflict-set to improve the error message.

Any ideas?

1 Like

Have a look at the cabal.project.local file in the cardano-node2 folder. See what contents are in there. The error seems to indicate it created another version for some reason. You might need to clear it out and try again.

But if you are building on arm, I think there’s more you need to do. My guide isn’t setup for ARM. You’d be best to try the ARMADA alliance (I think that’s what it’s called).

1 Like

Solved!

For anyone having the same issue - for me it was an additional libsodium file
The fix (with thanks to George from Apexpool) was
sudo apt remove libsodium23
Then:
sudo ldconfig
Restart the node and it should work :fingers_crossed:

2 Likes

Was that ARM specific or something more general?

1 Like

I’m no expert, but what I’m told is “It should work on every platform. There is no need to install that package on any platform, cardano-node is only using the one you build yourself, which is different.”

2 Likes

Do you mean 9.1.0 will not work with a node that is 8.12 or lower, or are you saying if you have other nodes that are 8.9.0 or less to leave this line out of config file? “minNodeVersion”

1 Like

I think it means you can’t run with 8.9.0 and less with a 8.12.0 or newer node/relay. I think you could remove that line and make it run, but I assume there is a specific intention there to make sure the nodes interface correctly.

I remember there was an SPO who had some issues with mixed versions, but not 100% if it was directly related to this.

Eitherway, I just updated all my nodes to 9.1.0 and away I went.

1 Like

Anybody knows what is this about ?
I am updating from 8.1.2 do 9.1.0

Linking dist/build/cardano-cli/cardano-cli ...
/home/banter/.cabal/store/ghc-8.10.7/cardano-crypto-praos-2.1.2.0-13934c43b66fcce24b2bc6bd0f2ca840e691a554f48504b148a94037cc3d062c/lib/libHScardano-crypto-praos-2.1.2.0-13934c43b66fcce24b2bc6bd0f2ca840e691a554f48504b148a94037cc3d062c.a(Praos.o):ghc_33.c:function cardanozmcryptozmpraoszm2zi1zi2zi0zm13934c43b66fcce24b2bc6bd0f2ca840e691a554f48504b148a94037cc3d062c_CardanoziCryptoziVRFziPraos_certSizzeVRF_info: error: undefined reference to 'crypto_vrf_ietfdraft03_bytes'
1 Like

What version Linux/Ubuntu are you running?

1 Like

Description: Ubuntu 20.04.6 LTS
Release: 20.04

1 Like

Did you install blst?

1 Like

yes I did, i am trying now with prebuilt binaries

1 Like

After upgrading to 9.1.1 I’m running into this issue. The replay db gets to about 4.97% then I get this error.

Sep 07 01:05:28 E3-2276 cardano-node[2387197]: [E3-2276:cardano.node.ChainDB:Info:15] [2024-09-07 06:05:28.99 UTC] Closed Volatile DB.
Sep 07 01:05:28 E3-2276 cardano-node[2387197]: [E3-2276:cardano.node.ChainDB:Info:15] [2024-09-07 06:05:28.99 UTC] Closed Immutable DB.
Sep 07 01:05:28 E3-2276 cardano-node[2387197]: Shutting down…
Sep 07 01:05:28 E3-2276 cardano-node[2387197]: cardano-node: Invalid ADA value: Coin (-6328436054)
Sep 07 01:05:28 E3-2276 cardano-node[2387197]: CallStack (from HasCallStack):
Sep 07 01:05:28 E3-2276 cardano-node[2387197]: error, called at src/Cardano/Ledger/Coin.hs:143:16 in cardano-ledger-core-1.13.2.0-45d8445fe3a316f03da974aab38fb78b04f6eab29e9ed99cb687c1d9e9a14db9:Cardano.Ledger.Coin
Sep 07 01:05:29 E3-2276 cardano-node[2387197]: compactCoinOrError, called at src/Cardano/Ledger/Shelley/Rewards.hs:181:22 in cardano-ledger-shelley-1.12.3.0-481ab4fe20590a84590031eb0ba3101c6a1cc68b1eb142d0c40dd0b5638caab2:Cardano.Ledger.Shelley.Rewards

1 Like

Not sure sorry. Maybe try getting a mithril snapshot and bootstrapping your node back up that way?

Thanks for these instructions. Just a reminder to everyone to replace 9.1.0 to 9.1.1. I followed these steps and updated the config files. It took a couple of days to sync the db but it looks to be running now.

1 Like