Generating Cardano Block producer keys
Let's create our pool keys
With SPOS scripts this task is a super easy task:
1
04a_genNodeKeys.sh myPool
2
04b_genVRFKeys.sh myPool
3
04c_genKESKeys.sh myPool
4
04d_genNodeOpCert.sh myPool
5
6
# let's see generated files
7
ls -al myPool*
Copied!
Now you have generated your pool keys!

StakePool certificate generation

1
05a_genStakepoolCert.sh myPool
Copied!
This command will generate a template that you have to fill in so we can generate a valid pool certificate
1
nano myPool.pool.json
Copied!
I'm creating a single owner pool with the following configuration:
    Pools Pledge: 1mil ADA (will be held in poolOwner address)
    Fixed Fee: 340 ADA (This is currently the minimum you can set)
    Pools Margin: 5%
    2 IP relays: 89.191.111.111 and 89.191.111.112, both will run on port 3001
    Pool's TICKER: XPOOL
    short and long descriptions: "My Testnet Pool #2", "This pool is used for the guide i created",
    main metadata file will be stored at the following url: https://www.stakepool247.eu/xpool-testnet.metadata.json
    extended metadata (used by adapools, pooltool, and other services): https://www.stakepool247.eu/xpool-testnet.extended.json
Let's run again the same command
1
05a_genStakepoolCert.sh myPool
Copied!
as we previously didn't have an extended metadata file, the script created a template, which we will edit and re-run the command once again.
1
05a_genStakepoolCert.sh myPool
Copied!
edit it so it corresponds to your needs, this file is just for additional information.
when you have edited it, let's run the same command again:
1
nano myPool.additional-metadata.json
Copied!
you will get 2 reminders to upload the 2 generated metadata files (myPool.extended-metadata.jsonmyPool.metadata.json) to your webserver. This is mandatory for your pool to be visible on Daedalus and other wallets:
so, let's rename them as we defined them in our config files a
1
cp myPool.metadata.json xpool-testnet.metadata.json
2
cp myPool.extended-metadata.json xpool-testnet.extended.json
Copied!
and upload to a webserver (either by ftp/sftp or any other means), when it's done, let's proceed.
Let's create a delegation certificate where we will delegate to our own pool
1
05b_genDelegationCert.sh myPool poolOwner
Copied!
this will generate the poolOwner.deleg.cert before proceeding let's honor our pledge and send the pledged amount to poolOwner.paymet address, you can find the address where you have to send your funds in the poolOwner.payment.addr file
1
cat poolOwner.payment.addr
Copied!
send your pledge to that address and check in few seconds if it has arrived:
1
01_queryAddress.sh poolOwner.payment
Copied!
Great, fund arrived - let's move forward.
As the final task - let's register the stake pool on the blockchain (fees paid by the myWallet)
1
05c_regStakepoolCert.sh myPool myWallet
Copied!
So, if you did everything correctly in few minutes (sometimes hours) you will have your freshlly registred pool on Daedalus:
Last modified 7mo ago