Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save QCPOLstakepool/45ff61b0208d93cebe7067c6cd9d61d4 to your computer and use it in GitHub Desktop.
Save QCPOLstakepool/45ff61b0208d93cebe7067c6cd9d61d4 to your computer and use it in GitHub Desktop.

Cardano Stake Pool Migration 8.9.4 -> 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
sed -i ${NODE_CONFIG}-config.json -e "s/ExperimentalHardForksEnabled\":.*/ExperimentalHardForksEnabled\": false,/g"
sed -i ${NODE_CONFIG}-config.json -e "s/ExperimentalProtocolsEnabled\":.*/ExperimentalProtocolsEnabled\": false,/g"
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 (relay + block producer)

sed -i ${NODE_CONFIG}-config.json -e "s/ConwayGenesisHash\":.*/ConwayGenesisHash\": \"9cc5084f02e27210eacba47af0872e3dba8946ad9460b6072d793e1d2f3987ef\",/g"

Preprod (relay + block producer)

sed -i ${NODE_CONFIG}-config.json -e "s/ConwayGenesisHash\":.*/ConwayGenesisHash\": \"0eb6adaec3fcb1fe286c1b4ae0da2a117eafc3add51e17577d36dd39eddfc3db\",/g"

Mainnet (relay + block producer)

sed -i ${NODE_CONFIG}-config.json -e "s/ConwayGenesisHash\":.*/ConwayGenesisHash\": \"15a199f895e461ec0ffc6dd4e4028af28a492ab4e806d39cb674c88f7643ef62\",/g"

Relay

jq '. += {MinNodeVersion: "8.12.0", PeerSharing: true, TraceLocalConnectionManager: false}' ${NODE_CONFIG}-config.json > tmp && mv tmp ${NODE_CONFIG}-config.json

Block Producer

jq '. += {MinNodeVersion: "8.12.0", PeerSharing: false, TraceLocalConnectionManager: false}' ${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