Steps for 1.26.1 (non CNTOOLS , Coincashew users)

when you do the find you can just do (find $HOME/git/cardano-node -type f -iname “cardano-node”) you don’t need the “dist-newstyle/build” maybe will change something for you.

cd $HOME/git
# delete cardano-node
# sudo rm -rf cardano-node
git clone https://github.com/input-output-hk/cardano-node.git
cd cardano-node
git fetch --all --recurse-submodules --tags
git checkout tags/1.26.1

Hi @niwde,

Can you explain what you mean by changing the it to block line 21? My topologyupdater.sh currently has
blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | jq -r .blockNo )

Do I change it to
blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | jq -r .block21 )
?

Thank you!
David

blockNo > block i think he met, but im not there yet.

this is the line 21:

blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | jq -r .blockNo )

and you have to change the last .blockNo to .block =>

blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | jq -r .block )

2 Likes

I ultimately ended up using the Update 1.24.2 to 1.25.1 with 1.26.1 in place of 1.25.1 and 8.10.4 in place of 8.10.2 and the rest of the guide worked. I’m not sure where I went wrong on here, but I am up to date :+1:

1 Like

To update with $HOME/git/cardano-node as the current binaries directory, copy the whole cardano-node directory to a new place so that you have a backup. Also make sure to do a snapshot of your server/db if anything goes wrong.

sudo apt-get update
sudo apt-get upgrade
sudo reboot

cd $HOME/git
mv cardano-node cardano-node-old
git clone GitHub - input-output-hk/cardano-node: The core component that is used to participate in a Cardano decentralised blockchain. cardano-node2
cd cardano-node2/

Read the patch notes for any other special updates or dependencies that may be required for the latest release.

Remove the old binaries and rebuild the latest binaries. Run the following command to pull and build the latest binaries. Change the checkout tag or branch as needed.

cd $HOME/git/cardano-node2
git clean -fd
git fetch --all --recurse-submodules --tags
git checkout tags/1.26.2 && git pull

Install ghcup (optional - if not yet installed)

  curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
  source ~/.bashrc

OR Upgrade ghcup

ghcup upgrade  (just to make sure ghcup is on the latest version)
ghcup install ghc 8.10.4
ghcup set ghc 8.10.4
ghc --version   (just to check the correct version)
ghcup install cabal 3.4.0.0
ghcup set cabal 3.4.0.0
cabal --version   (just to check the correct version)
cabal update  (just to make sure all dependencies are in the info)

GHCUP changes the paths (Cabal 3.4.0.0 not changing from 3.2.0.0 (solved) - #2 by Anti.biz) which cabal / which ghc`

cabal configure -O0 -w ghc-8.10.4
echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local
cabal build cardano-node cardano-cli

Verify your cardano-cli and cardano-node were updated to the expected version.

$(find $HOME/git/cardano-node2/dist-newstyle/build -type f -name "cardano-cli") version

$(find $HOME/git/cardano-node2/dist-newstyle/build -type f -name "cardano-node") version

Stop your node before updating the binaries.

sudo systemctl stop cardano-node

Copy cardano-cli and cardano-node files into bin directory.

sudo cp $(find $HOME/git/cardano-node2/dist-newstyle/build -type f -name "cardano-cli") /usr/local/bin/cardano-cli

sudo cp $(find $HOME/git/cardano-node2/dist-newstyle/build -type f -name "cardano-node") /usr/local/bin/cardano-node

Verify your cardano-cli and cardano-node were copied successfully and updated to the expected version.

cardano-node version
cardano-cli version

Update the NODE_BULD_NUM

export NODE_BUILD_NUM=$(curl https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest-finished/download/1/index.html | grep -e "build" | sed 's/.*build\/\([0-9]*\)\/download.*/\1/g')
sed -i $HOME/.bashrc \
    -e "s/export NODE_BUILD_NUM=[0-9]\+/export NODE_BUILD_NUM=${NODE_BUILD_NUM}/g"
source $HOME/.bashrc

sudo systemctl start cardano-node

cd $HOME/git
mv cardano-node/ cardano-node-old/
mv cardano-node2/ cardano-node/

Do gliveView updates now (if any)

Check tip

cardano-cli query tip --mainnet

In “topologyUpdater.sh” change the script to query the tip from blockNo to block line 21

blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | jq -r .block )

:robot: Important Reminder : Don’t forget to update your air-gapped offline machine (cold environment) with the new Cardano CLI binaries.

1 Like

INFO!

It can take up to 1h until the DB is re-syncing. So it is normal that glive Status is on “starting”.

2 Likes

I like the copy db/ledger to the other nodes, especially that in most cases, there are 2 relays and 1 BP .

i didn’t upgrade ghc and cabal. is it recommended with 1.26.1 ?

No It’s not.

Hello guys, I updated to 1.26.1 and already sync all to relays and BP node.
I followed the coincashew guide.
But what I noticed in my Grafana dashboard is that Code Tx’s Processed is not received any more.
I also updated:

  • ghc to 8.10.4
  • cabal to 3.4.0.0

Is it a problem that I am still not receiving Code Tx’s Processed. And how to verify that my pool is running properly and can it produce blocks?

Here is a screenshots of my pool’s BP node and Grafana dashboard:

And my config :
{
“ApplicationName”: “cardano-sl”,
“ApplicationVersion”: 1,
“ByronGenesisFile”: “mainnet-byron-genesis.json”,
“ByronGenesisHash”: “5f20df933584822601f9e3f8c024eb5eb252fe8cefb24d1317dc3d432e940ebb”,
“LastKnownBlockVersion-Alt”: 0,
“LastKnownBlockVersion-Major”: 3,
“LastKnownBlockVersion-Minor”: 0,
“MaxKnownMajorProtocolVersion”: 2,
“Protocol”: “Cardano”,
“RequiresNetworkMagic”: “RequiresNoMagic”,
“ShelleyGenesisFile”: “mainnet-shelley-genesis.json”,
“ShelleyGenesisHash”: “1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81”,
“TraceBlockFetchClient”: false,
“TraceBlockFetchDecisions”: true,
“TraceBlockFetchProtocol”: false,
“TraceBlockFetchProtocolSerialised”: false,
“TraceBlockFetchServer”: false,
“TraceChainDb”: true,
“TraceChainSyncBlockServer”: false,
“TraceChainSyncClient”: false,
“TraceChainSyncHeaderServer”: false,
“TraceChainSyncProtocol”: false,
“TraceDNSResolver”: true,
“TraceDNSSubscription”: true,
“TraceErrorPolicy”: true,
“TraceForge”: true,
“TraceHandshake”: false,
“TraceIpSubscription”: true,
“TraceLocalChainSyncProtocol”: false,
“TraceLocalErrorPolicy”: true,
“TraceLocalHandshake”: false,
“TraceLocalTxSubmissionProtocol”: false,
“TraceLocalTxSubmissionServer”: false,
“TraceMempool”: true,
“TraceMux”: false,
“TraceTxInbound”: false,
“TraceTxOutbound”: false,
“TraceTxSubmissionProtocol”: false,
“TracingVerbosity”: “NormalVerbosity”,
“TurnOnLogMetrics”: true,
“TurnOnLogging”: true,
“defaultBackends”: [
“KatipBK”
],
“defaultScribes”: [
[
“StdoutSK”,
“stdout”
]
],
“hasEKG”: 12788,
“hasPrometheus”: [
“0.0.0.0”,
12798
],
“minSeverity”: “Info”,
“options”: {
“mapBackends”: {
“cardano.node.metrics”: [
“EKGViewBK”
],
“cardano.node.resources”: [
“EKGViewBK”
]
},
“mapSubtrace”: {
“cardano.node.metrics”: {
“subtrace”: “Neutral”
}
}
},
“rotation”: {
“rpKeepFilesNum”: 10,
“rpLogLimitBytes”: 5000000,
“rpMaxAgeHours”: 24
},
“setupBackends”: [
“KatipBK”
],
“setupScribes”: [
{
“scFormat”: “ScText”,
“scKind”: “StdoutSK”,
“scName”: “stdout”,
“scRotation”: null
}
]
}

Thanks for the great guide. For some reason, copying the compiled files to the right location doesn’t seem to work for me. I can see that both files in /usr/local/bin are updated. However, when I verify the version of the node it still returns 1.25.1.

Am I overlooking something? is there a method to check the location where the node is running from?

EDIT: I used command which cardano-cli to check the location of cardano-node and cardano-cli. Both ran from a different location. Fixed the issue by altering the cp command listed above.

2 Likes

How did you alter the command this is what I was trying to fix as well.

Had this exact same issue…

You need to change your PATH in .bashrc.

PATH works like PATH=first_look_here:then_look_here:and_so_on

If you punt the /usr/local/bin: in front it will look for the cardano-node in that location.

Change bash-file by sudo nano $HOME/.bashrc

Save with ctrl+o then ctrl+x

don’t forget to source ~/.bashrc and your good

1 Like

@Alexd1985 Can you look and tell at my problem, looks like you have pretty good understanding of Cardano pools at all :slight_smile:

hmm try to see if the node is exporting the metric

curl localhost:12798/metrics | grep TX

compare with the output from another node

1 Like

I am trying to update my pool.cert after i changed my public IP to a DNS record, but i am not able to complete the steps with 1.26.1 .
This command is failing with error saying when decoding the params.json , key “DECENTRALIZATION” not found.

(note that after i upgraded to 1.26.1 - all my nodes were online and connected as expected)

fee=(cardano-cli transaction calculate-min-fee \ --tx-body-file tx.tmp \ --tx-in-count {txcnt}
–tx-out-count 1
–mainnet
–witness-count 3
–byron-witness-count 0
–protocol-params-file params.json | awk ‘{ print $1 }’)
echo fee: $fee

Yeap, you are right. BP node don’t export cardano_node_metrics_txsProcessedNum_int. Any advice how to fix that?

Howbis the config file?

Did u set to true traceMempool?

I shared all info, little bit up in this topic… Steps for 1.26.1 (non CNTOOLS , Coincashew users) - #47 by toome123

traceMempool is set to true

1 Like