Register the Pool

It's now time to register our pool.

First thing we will do is generate a hash from the metadata file generated and hosted as part of the Creating Metadata step.

wget <your shortened metadata URL here> -O ~/preprodnet/pool/meta.json

Generate the hash from the metadata URL.

cardano-cli stake-pool metadata-hash --pool-metadata-file ~/preprodnet/pool/meta.json

Before we create our pool Registration Certificate, we need to determine the minPoolCost (the minimum static fee in lovelaces that our pool will be rewarded each epoch before the rest of the rewards distribution).

grep minPoolCost ~/preprodnet/tx/protocol.json
At the time this guide was written, the minPoolCost on the preproduction testnet is 170 ADA or 170000000 lovelaces. This parameter is changeable depending on proposals signed by genesis keys or when Voltaire hits, by Cardano's decentralized governance mechanism.

If you were to further investicate the protocol parameters (found in our protocol.json generated earlier), you would also discover that the stakeAddressDeposit is 2 ADA and that the stakePoolDeposit is 500 ADA. This is important to note as we go forward and chose our pledge value, as we do not want to make the mistake of commiting more pledge than we have, making the pool defunct and unable to mint blocks or generate rewards.

Let us now generate the registration certificate. In this certificate we will be using a public IP address rather than a URL. The pool margin in this example is also set to .03, which means the pool will take 3% of the total rewards allocated to the pool after the minPoolCost is awarded, but before delegator rewards are calculated. Before setting the pledge, please ensure that your owner wallet, (in our case, wallet1) has enough ADA after paying the 500 ADA deposit and the tx fee for the registration so that the pool is valid.

Now make a delegation certificate, using the stake.vkey from the pledge wallet.

It is now time to create a transaction in order to submit the signed certificates to chain.

Let's now sign the pool registration transaction.

Finally, let's submit and finalize the pool on chain.

Last updated