I’m in the process of building a staking pool with some friends and we would like to split the operator rewards evenly. Do we simply register multiple stake keys with the node?
I’m failing to understand the utility of each key and how we should all set it up.
To sign the Tx you will need to have the stake.skey from all the owners. This may be problematic because it also gives you access to the delegator rewards of all the owners. A better solution is to have every owner witness the Tx independently.
# Operator witness - Signed by pool operator (payer of pool deposit and fees)
cardano-cli transaction witness \
--mainnet \
--tx-body-file /var/cardano/local/scratch/tx.raw \
--signing-key-file /var/cardano/local/keys/fees/payment.skey \
--out-file /var/cardano/local/scratch/operator.witness
# Pool witness - signed by pool's cold key.
cardano-cli transaction witness \
--mainnet \
--tx-body-file /var/cardano/local/scratch/tx.raw \
--signing-key-file /var/cardano/local/keys/pool/cold.skey \
--out-file /var/cardano/local/scratch/pool.witness
# Owner witness - signed by owners's stake key.
cardano-cli transaction witness \
--mainnet \
--tx-body-file /var/cardano/local/scratch/tx.raw \
--signing-key-file /var/cardano/local/keys/spo/stake.skey \
--out-file /var/cardano/local/scratch/spo.witness
# Owner witness - One or multiple hardware wallet pool owners
cardano-hw-cli transaction witness \
--mainnet \
--tx-body-file ~/cardano/scratch/tx.raw \
--hw-signing-file ~/cardano/keys/hww/stake.hwsfile \
--out-file ~/cardano/scratch/hww.witness