Multiple pool owners (or pledge contributors) - how to in CLI?

Hi Cardanians,

Could someone clarify whether the following is correct? I’ve searched for the answer but still somewhat confused on how to actually record more than one source of pledge when registering the pool.

Scenario:
Two people are going to combine their ADA for a pledge:
Alice contributes 15 ADA and Bob 10 ADA.

Alice is going to operate the pool so so she goes ahead and creates her:
*Stake key pair
*Payment key pair
*VRF keys
*KES keys
*Cold keys
*Node certificates, regos etc.

Bob who won’t be running the pool just needs to create his payment and stake keypairs.
Specifically, he creates a Bobstake.addr using his payment.vkey and stake.vkey, then registers Bobstake.addr. Then he deposits his 10 ADA into the address.

Then when Alice registers the pool she includes BobStake.vkey as well as hers as follows:

–pool-cost !POOL COST PER EPOCH IN LOVELACE
–pool-margin !POOL COST PER EPOCH IN PERCENTAGE!
–pool-reward-account-verification-key-file stake.vkey
--pool-owner-stake-verification-key-file poolstake.vkey \ (this key was gend by Alice)
-pool-owner-stake-verification-key-file Bobstake.vkey \
–mainnet
–pool-relay-ipv4 !RELAY NODE PUBLIC IP!
–pool-relay-port !RELAY NODE PORT!

Is this correct? Have I missed anything?

Thanks,
Frank.

2 Likes

That’s looks ok, but you will also need to sign the transaction with the skeys corresponding all vkeys used in the pool registration cert.

1 Like

Thank you!
Yes, makes sense.
So, then include Bobstake.vkey when creating the delegation cert as well:

cardano-cli shelley stake-address delegation-certificate
*–stake-verification-key-file poolstake.vkey *
*----stake-verification-key-file Bobstake.vkey *
–cold-verification-key-file cold.vkey
–out-file delegation.cert

AND inc Bob’s skey and Alice’s skey when signing:

cardano-cli shelley transaction sign
–tx-body-file tx.raw
–signing-key-file payment.skey
*–signing-key-file poolstake.skey *
*–signing-key-file Bobstake.skey *
–signing-key-file cold.skey
–mainnet
–out-file tx.signed

I think that should do it.

3 Likes

you will need to add both delegation certs to the transaction as well and include them as certificate files in the signed transaction:

cardano-cli shelley stake-address delegation-certificate
–staking-verification-key-file stake.vkey
–stake-pool-verification-key-file cold.vkey
–out-file delegation.cert

cardano-cli shelley stake-address delegation-certificate
–staking-verification-key-file pledge-stake.vkey
–stake-pool-verification-key-file cold.vkey
–out-file pledge-delegation.cert

cardano-cli shelley transaction build-raw /

–certificate-file delegation.cert
–certificate-file pledge-delegation.cert

2 Likes

:ok_hand: :+1:

Very helpful - thank you. Do both Bob and Alice generate their payment addresses using the same stake key (which is then included in the registration and where rewards are sent), or do they each create their own stake key and include both stake keys in the registration? I was under the impression you only have one stake key in the registration for sending rewards to, so I assume they both use that same stake key when generating their payment addresses.

I’m confused about the stake-address delegation-certificate here. Why does the delegation certificate have to be created with alice’s vkey and bobs vkey?

Can’t they just create two separate addresses and register them for delegation?