Skip to content

Instantly share code, notes, and snippets.

@QCPOLstakepool
Last active July 26, 2024 12:15
Show Gist options
  • Save QCPOLstakepool/307f771d4af8d73228264d207ddfdc1c to your computer and use it in GitHub Desktop.
Save QCPOLstakepool/307f771d4af8d73228264d207ddfdc1c to your computer and use it in GitHub Desktop.

Cardano Stake Pool Migration 9.0.0 -> 9.1.0

THIS GUIDE IS FOR EDUCATIONAL PURPOSE ONLY. IT COMES WITH NO WARRANTY AND SHOULD BE USED AT YOUR OWN RISKS. MAKE THE APPROPRIATE BACKUPS!!! THIS GUIDE ASSUME YOU FOLLOWED https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node

Written by QCPOL (https://qcpol.stakepool.quebec)

Update server

sudo apt update -y
sudo apt upgrade -y
sudo apt autoremove -y

Building cardano-node 9.1.0

cd $HOME/git
git clone https://github.com/IntersectMBO/cardano-node.git cardano-node-9.1.0
cd cardano-node-9.1.0
git fetch --all --recurse-submodules --tags
git checkout tags/9.1.0
echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local
echo "with-compiler: ghc-8.10.7" >> cabal.project.local
rm -rf $HOME/git/cardano-node-9.1.0/dist-newstyle/build/x86_64-linux/ghc-8.10.7
cabal update
cabal build cardano-node cardano-submit-api

Building cardano-cli 9.2.1.0

cd $HOME/git
git clone https://github.com/IntersectMBO/cardano-cli.git cardano-cli-9.2.1.0
cd cardano-cli-9.2.1.0
git fetch --all --recurse-submodules --tags
git checkout tags/cardano-cli-9.2.1.0
echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local
echo "with-compiler: ghc-8.10.7" >> cabal.project.local
rm -rf $HOME/git/cardano-cli-9.2.1.0/dist-newstyle/build/x86_64-linux/ghc-8.10.7
cabal update
cabal build cardano-cli

Stop service

sudo systemctl stop cardano-node
sudo systemctl stop cardano-submit-api

Installing 9.1.0

sudo cp $(find $HOME/git/cardano-cli-9.2.1.0/dist-newstyle/build -type f -name "cardano-cli") /usr/local/bin/cardano-cli
sudo cp $(find $HOME/git/cardano-node-9.1.0/dist-newstyle/build -type f -name "cardano-node") /usr/local/bin/cardano-node
sudo cp $(find $HOME/git/cardano-node-9.1.0/dist-newstyle/build -type f -name "cardano-submit-api") /usr/local/bin/cardano-submit-api

Update configuration files

cd $HOME/cardano-my-node
rm ${NODE_CONFIG}-conway-genesis.json
wget https://book.play.dev.cardano.org/environments/$NODE_CONFIG/conway-genesis.json
mv conway-genesis.json ${NODE_CONFIG}-conway-genesis.json

Preview

jq --arg NODECONFIG "$NODE_CONFIG" '. += {ConwayGenesisFile: "\($NODECONFIG)-conway-genesis.json", ConwayGenesisHash: "9cc5084f02e27210eacba47af0872e3dba8946ad9460b6072d793e1d2f3987ef"}' ${NODE_CONFIG}-config.json > tmp && mv tmp ${NODE_CONFIG}-config.json

Preprod

jq --arg NODECONFIG "$NODE_CONFIG" '. += {ConwayGenesisFile: "\($NODECONFIG)-conway-genesis.json", ConwayGenesisHash: "0eb6adaec3fcb1fe286c1b4ae0da2a117eafc3add51e17577d36dd39eddfc3db"}' ${NODE_CONFIG}-config.json > tmp && mv tmp ${NODE_CONFIG}-config.json

Mainnet

jq --arg NODECONFIG "$NODE_CONFIG" '. += {ConwayGenesisFile: "\($NODECONFIG)-conway-genesis.json", ConwayGenesisHash: "15a199f895e461ec0ffc6dd4e4028af28a492ab4e806d39cb674c88f7643ef62"}' ${NODE_CONFIG}-config.json > tmp && mv tmp ${NODE_CONFIG}-config.json

Start service

sudo systemctl start cardano-node
sudo systemctl start cardano-submit-api

Versions

  • ghc 8.10.7
  • cabal 3.8.1.0
  • cardano-cli 9.2.1.0
  • cardano-node 9.1.0
  • libsodium dbb48cce5429cb6585c9034f002568964f1ce567
  • secp256k1 ac83be33
  • libblst v0.3.10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment