Before I decided to set up a Cardano stakepool I was playing with a MINA node. Setting up a MINA-node was just a case of running an executable on a Linux server and generating some basic node-keys. Then, using the build-in wallet, stake your MINA on your own node.
This was all fine and easy, too bad the MINA communitiy wasn’t very mature and the whole idea of a SNARK-marketplace wasn’t really working out yet. So after trying it for a bit it was time to switch to a mutch more mature choice: Cardano.
Settings up a Cardano node is a whole different story. You need node keys, staking keys, KEV-keys, a wallet and a lot more. Luckily the documentation is quite alright and the community documentation is also very helpful.
And so our journey begins with generating all the necessary keys and setting up our servers.
This is part I from our journey, see the other parts here:
- Part I: The technicalities of a stakepool no-one told you
- Part II: The first block will come… right… RIGHT??
- Part III: Where are we going from here
Servers, servers and servers
When you search around for hardware requirements for a full Cardano-node you read about people running it on a Raspberry-PI or some nice small server with 8GB of RAM. Well… that doesn’t work (anymore). To get the node running stable (inside Docker) I needed three beefy machines with 16GB of RAM and four-core CPU’s. Especially when you are querying the blockchain on them.
This immediately bumps you to the more expensive servers when running in a cloud-environment. I settled on Hetzner and Vultr because I’ve used them before, they served me well and I wanted to spread out my relays over multiple providers.
As described in the great Coincashew Guide it is possible to use SRV-records in the DNS for your relay nodes. This is true… kind of.
Apparently technically the node works fine with the SRV-records, but the whole infrastructure surrounding it doesn’t. Both ADA-Pools and the mandatory Topology Updater have no idea what to do with your SRV records and just show the relays as non-existent. And this is not really good for your node availability.
Only after updating my pool registration-certificate with two basic hostnames the relays were detected.
Whatever the documentation says, the extended metadata is NOT optional.
Start with testnet
So while setting-up my first node I was mostly following the Coincashew Guide that has nice commands you just have to copy and paste. This is all nice and easy but really breaks down the moment you need to do the more advanced stuff, like renewing your KEV-keys or transfering some ADA from your wallet to your node or vice-versa.
I only really learned how to use the cardano-cli after setting up an extra server with a node on the testnet. Read the documentation, send some ADA from the faucet to your Daedalus Testnet wallet and just start playing and experimenting.
Pool.vet is unmeasurably helpfull
The website pool.vet is extremely helpfull to see why your Cardano pool is not showing up on the different pool explorers.
Telegram for a DeFi cryptocurrency
The fact that the whole support-network is running on a centralized communication service like Telegram and Discord is quite ‘special’. Something to talk about in a later blog-post.