HOW TO: Upgrade from 1.35.3 to 1.35.5 for CNTOOLS users

Update your system

sudo apt-get update
sudo apt-get upgrade

Update GHC and Cabal

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

Reboot

sudo reboot

Build the Node with 1.35.5

sudo systemctl stop cnode
cd ~/git
sudo rm -R cardano-node
git clone https://github.com/input-output-hk/cardano-node 
cd cardano-node

git fetch --tags --all
git checkout 1.35.5


echo -e "package cardano-crypto-praos\n  flags: -external-libsodium-vrf" > cabal.project.local
$CNODE_HOME/scripts/cabal-build-all.sh

Download and run the script

cd "$HOME/tmp"
curl -sS -o guild-deploy.sh https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/guild-deploy.sh
chmod 700 guild-deploy.sh
./guild-deploy.sh -s f -b master

Edit scripts/env, scripts/cnode.sh,scripts/topologyUpdater.sh, files/topology.json, files/config.json as required

Source your bashrc file

source "${HOME}"/.bashrc
echo "${PATH}"

Move all binaris files from /.cabal/bin to /.local/bin

sudo systemctl stop cnode
mv -t "${HOME}"/.local/bin/ "${HOME}"/.cabal/bin/* "${HOME}"/.cargo/* "${HOME}"/bin/*

Reboot

sudo reboot

Start your node

sudo systemctl start cnode

This worked for me, and I’d thought to share this. Please make sure you understand what each command does, so that you are reliable for the outcome of this update. I’m not responsible.

It is important to realise that you are outsourcing the security of your system to someone else if you blindly run scripts created by others.

I would advise everyone to read through the scripts first and ask the following questions:

  1. How big is the main script and how many other scripts does that script pull in? Do you understand everything the scripts are doing?
  2. How confident are you that there are no bugs in the script (and all the others pulled in)?
  3. What sort of things does the script do and why? Does it do dangerous stuff like overwriting libraries on your system, changing executables, changing environment variables, and inserting stuff in your dot files that get re-run automatically every login?
  4. Do you need to run the script with superuser permissions? And why?
  5. How many eyes are likely to have reviewed and checked this script?

Now compare this script to other scripts that your system software uses that may be built into the system for upgrading packages etc. How many eyes have looked at those built-in scripts and what is your level of trust about them by comparison?

Before people argue with my question 3 above saying that of course such a script needs to install stuff. Answer this: Do you just download and run random scripts to install all your other software packages that your system uses?

Or do you use some sort of standardised package manager that has been audited by the security team and millions of eyes for many years where every minor change has to go through a security audit?

Finally, for the record, it is easily possible to upgrade your cardano-node software without using such customised scripts. It is even possible to get your package manager to do it for you.

You are correct. One should not blindly use someone elses script without knowing what it does first. It is not me who have made that script, but I checked what it does.
I’m simply trying to help people do a successful upgrade. But if the common consensus is that scripts should not be posted on this forum, I’m willing to remove this guide.

Don’t worry. The advice to use scripts is posted everywhere on this forum.

I am just one dissenting voice in the wilderness trying to point out that there is a better way.

Has anyone upgraded to version 8.0.0 for cntools?
image

2 Likes

Not yet; waiting for some insights

Hello fellow SPOs,

CNTools v10.3.0 was just merged into alpha branch.
It brings full support for CIP-0094 SPO-Poll answers including label 674 comments in on- and offline mode

Go to pool > vote
It will lookup for polls currently open for answers, and then walk you through all the steps to submit a valid answer.

You don’t need cardano-node or -cli v8.0.0 as CNTools does all the computation and metafile generation. Just use any v1.35 version currently in use on your Pool and Air-gapped device.

If we don’t hear about any issues, Alpha will be merged into Master branch within 1-2 days

Source: Telegram: Contact @guild_operators_official
image

2 Likes