As a Cardano Pool operator, I have setup stake pools both on testnets and mainnet since early 2021.
During my setups, the part where I need to manage the keys was the most confusing and error prone. So I wrote this tool to help me automate the steps in handling the pool keys, hope it may help other pool operators when you guys need to setup and manage one.
This tool is written as part of toolbox to manage Armada Stake pool - ticker ARMDA.
- Nodejs > 14
Cardano tool will interact with the current Cardano blockchain therefore latest tool is needed to perform below operations.
This tool create a stake pool with owner key extract from Mnemonic phrase. This has the benefit of managing the reward right from the Wallet tool like Yoroi or Daelus.
Additional requirement to extract the keys are:
All the tools must be present in the PATH for this scrip to access.
Clone the source code and install the dependencies
git clone https://github.com/trchopan/cardano-commands.git
cd cardano-commands npm install
- Register new Stake pool
- Edit pool certificate
- Retire Stake pool
I split the responsibility into 2: The Pool Operator and The Pool Owner.
The Pool Operator⌗
Is responsible of keeping the pool up and healthy. Manage the configuration, Update the
cardano-cli, the Prometheus and Graphana setup etc. The keys Pool Operator will have are:
For refresing the KES:
The Pool Owner⌗
Is the one who has access to the pool pledge and no one else. Only him can have the payment and stake keys, his responsibility is to keep all the cold keys safe under a
Master Password. The Pool Owner can perform operations:
- Create new Pool
- Update Pool information (certificate)
- Retire the pool
He/She should use the 24 mnemonic words to gain the ownership of the keys. This way he can easily import the wallet to wallet software like Daelus or Yoroi to comfortably sending and receiving payment as well as withdraw rewards.
Why not using already avaiable tool like CNTools⌗
There is a awesome tool from the cardano-community > CNTools < that will perform all the operation above with ease. I suggest if you first building a new pool, you can refer to them as the Swiss-army knife to interact with the Cardano Blockchain.
But I have extra requirements that I would like to keep for my setup.
Pool Operatorhave no access to the Payment keys and only the Ower himself can have those.
- The Owner no need to operate the
- The Owner is the one building the transactions (safer compare to sign a transaction copy over from the block producer node)
This tool also has 2 parts that follow the responsibilities above but mainly will be used by the Pool Owner for his/her operations.
For an operation to perform, the
Core Node will turn into a API server that serve queries from the
Secret Nodes and also taking down the Keys after the secret node generate and combine those.
It’s also act as a live
cardano-node to talk with the blockchain itself for required information. The Secret Node get the information like
start KES period,
protocol params, etc. to conduct the operations.
Copyright (c) 2022-, Quang Tran.