Updating the Stake Pool School

Hi all,

I hope this finds you well. I would like to bring this topic up and see what happens. In my very early days learning the grounds to eventually run a pool, I started following the Stake Pool School. https://cardano-foundation.gitbook.io/stake-pool-course/

As time went by, I realised some of the information there was either missing or outdated :broken_heart:. This is still the case now. I know many in the community have gone to great lengths to bring up new (and up to date) guides for budding SPOs and this is great. Thank you :pray:

However, I think having a point of reference in the Foundation’s gitbook linked above, would still be relevant today. So, I am putting my hand up to help update the Stake Pool School with more current info.

Does anyone know who I should contact to get this rolling? Any comment/suggestion is greatly appreciated.

Cheers,

A

2 Likes

Hello @Adrem, and thank you for your effort.

I just wrote that the best thing to do is to go and create a pull request. Then I realized that the stake pool school is apparently not in a public repo. At the moment I’m not sure why that is or if I just couldn’t find it.

For now, best to point it out here to discuss the problems/flaws. The school should be moved to a public repo going forward to make sure that everyone can contribute.

1 Like

Hi @adatainment,

Thank you for your input. You are right, the sps is its own entity as it stands and all a user/reader can do is fill out a Web form. I don’t think that would get us anywhere.

If you agree, I will go through the material a little bit at a time, and post current code along with the necessary updates here in this thread.

After, if the foundation makes it a public repo, some work will be saved by picking up the code here.

Do you think this would be suitable?

Cheers A

1 Like

OK, for those who wish to follow this thread, I will start today by posting some incongruence found in the very beginning of the Stake Pools School (SPS) gitbook. This is related to the system requirements for running a stake pool.

I’ll try to stick to this format throughout this guide update:

  1. I will visit the page and examine the current content, date it, and include a link;
  2. next I will include the changes that, in my opinion and experience, should be reflected in future versions of the gitbook.

Please note that, as @adatainment has noted above, the SPS is currently not a public repository. While we wait for this to happen, I hope this guide will shave off some time when updating the gitbook and prove useful to anyone who wishes to enter the space going forward.

Page visited 21.12.2020: https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/getting-started/install-node

Information to be revised:
“An x86 host (AMD or Intel), Virtual Machine or AWS instance with at least 2 cores, 4GB of RAM and at least 10GB of free disk space”

Suggested revisions:
The host does not need to be a VM or specifically an AWS instance. Suggesting only one cloud-computing provider is also a bit restrictive: there are many others and, if compiling a guide for each one is impractical, the suggestion should be limited to “a cloud-computing provider”. I realise there is a section in SPS (https://cardano-foundation.gitbook.io/stake-pool-course/lessons/lesson-1/alternative-to-aws) which points to an alternative, this is why it should be reworded here. Also, nodes can be hosted on local machines, as long as the operating system is correct.

Further, the system requirements are in contrast with those stated in other guides (for example, Coincashew, https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node#minimum-stake-pool-hardware-requirements ) and also the official github repository https://github.com/input-output-hk/cardano-node/releases/tag/1.24.2. These system requirements need to be made clear and homogeneous in all sources.

Cheers,

A

1 Like

Next we shall look at updating the code to reflect current versions of the software:

Page visited 21.12.2020: https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/getting-started/install-node

Information to be revised:
The below sections aim to 1) download and install GHC, 2) find the latest release of cardano-node and tag it and 3) copy the newly compiled binaries to the appropriate directory.

wget https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz
tar -xf ghc-8.6.5-x86_64-deb9-linux.tar.xz
rm ghc-8.6.5-x86_64-deb9-linux.tar.xz
cd ghc-8.6.5
./configure
sudo make install
cd …

git fetch --all --tags
git tag
git checkout tags/1.19.1

cp -p dist-newstyle/build/x86_64-linux/ghc-8.6.5/cardano-node-1.19.1/x/cardano-node/build/cardano-node/cardano-node ~/.local/bin/

cp -p dist-newstyle/build/x86_64-linux/ghc-8.6.5/cardano-cli-1.19.1/x/cardano-cli/build/cardano-cli/cardano-cli ~/.local/bin/

Suggested revisions:
At the time of writing the software versions are GHC 8.10.2 and cardano-node 1.24.2. The code should be revised, and kept up to date to reflect this:

wget https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz
tar -xf ghc-8.10.2-x86_64-deb9-linux.tar.xz
rm ghc-8.10.2-x86_64-deb9-linux.tar.xz
cd ghc-8.10.2
./configure
sudo make install

git fetch --all --tags
git tag
git checkout tags/1.24.2

cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-node-1.24.2/x/cardano-node/build/cardano-node/cardano-node ~/.local/bin/

cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-cli-1.24.2/x/cardano-cli/build/cardano-cli/cardano-cli ~/.local/bin/

1 Like

Lastly for today’s update, please note the last section of code in the page above (which aims to describe a way to update to new software):

cd cardano-node
git fetch --all --tags
git tag
git checkout tags/
cabal install cardano-node cardano-cli

If I am not mistaken, from 1.24.2 and beyond, the node software needs compiling with GHC 8.10.2 or above. Therefore, if GHC is not updated first, the cardano-node and cardano-cli update from SPS will not work. Further, once the above process has worked correctly, the new binaries still need to be copied over to their directory. This is a good time to backup your current binaries, in case you need to go back to previous versions. One could use something like this:

cd ~/.local/bin
mv cardano-cli cardano-cli-backup
mv cardano-node cardano-node-backup

Followed by:

cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-node-NEW VERSION/x/cardano-node/build/cardano-node/cardano-node ~/.local/bin/

cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-cli-NEW VERSION/x/cardano-cli/build/cardano-cli/cardano-cli ~/.local/bin/

1 Like

Also:

on the start page the “ask in the forum”-link should go to https://forum.cardano.org/c/staking-delegation/setup-a-stake-pool/158 and not to https://forum.cardano.org/c/english/operators-talk/119

1 Like

@Adrem the repo is now public and we are calling for contributions. Thank you for pushing this! Please read the full article here:

2 Likes