Pool operations and maintenance

Querying the stake snapshot

cardano-cli query stake-snapshot \
--testnet-magic 2 \
--stake-pool-id <pool_id>

Querying the leadership schedule

cardano-cli query leadership-schedule \
--testnet-magic 2 \
--cold-verification-key-file cold.vkey \
--genesis shelley-genesis.json \
--vrf-signing-key-file vrf.skey \
--current
cardano-cli query leadership-schedule \
--testnet-magic 2 \
--cold-verification-key-file cold.vkey \
--genesis shelley-genesis.json \
--vrf-signing-key-file vrf.skey \
--next

Checking the validity of your KES keys

Renewing KES keys and the operational certificate

Upload the new kes.skey and opcert.cert to your block-producing node.

Withdrawing rewards

Build the stake address:

Query its balance:

Example output:

You can use jq to parse the output, for example, this jq command outputs 'address+balance', which will be useful later when building your transaction:

Output:

Build a transaction to withdraw rewards, use --witness-override 2. It will be signed by stake and payment keys:

Or, use this more automatic approach:

Changing pool parameters

You can update pool parameters using a new registration certificate. This time you will not pay the 500 ada deposit:

Submit pool-registration.cert in a transaction.

On a machine with a running node:

Sign the tx.raw on your air-gapped machine:

Back on the machine with the running node, submit tx.signed:

Updating cardano-node and cardano-cli

  1. Build cardano-node and cardano-cli on your local machine

  2. Upload the new binaries to your node server:

  1. Stop your node:

  1. Replace the old binaries with the new ones:

  1. Restart the node:

Last updated

Was this helpful?