Pioneers, let’s make a “Keys 101” thread for the next group of pioneers. Here’s what I have:
Payment keys
– Name-prefix: (arbitrary) e.g. “addr” or “payment”
– Type: PaymentSigningKeyShelley (.skey)
– Type: PaymentVerificationKeyShelley (.vkey)
– How used: create payment (utxo) addresses; send/receive funds
KES (“hot”) keys
– Name-prefix: “kes”
– Type: TPraosStandardCrypto
– How used: Create node operational certificate, e.g. “opcert”
– How used: Sign blocks (pass kes.skey as argument when starting node as a stake-pool)
Yeh, but it contains errors, what I will clean up soon. I mean I have already started it but needs more time to clean it properly after I can submit a PR .
Simple "enterprise" address to receive/send funds:
name.addr, name.vkey, name.skey
Payment(Base)/Staking address combo:
name.payment.addr, name.payment.skey/vkey, name.deleg.cert
name.staking.addr, name.staking.skey/vkey, name.staking.cert
Node/Pool files:
poolname.node.skey/vkey, poolname.node.counter, poolname.pool.cert, poolname.pool.dereg-cert, poolname.pool.json
poolname.vrf.skey/vkey
poolname.kes-xxx.skey/vkey, poolname.node-xxx.opcert (xxx increments with each KES generation = poolname.kes.counter)
poolname.kes.counter, poolname.kes-expire.json
That way it is easy to sort what keys and addresses are for what “name”. And scripts can be called with just the name.
if you wanna list all keys and addresses for a name just do a “ls name*” same if you wanna delete all files related to a name “rm name*”. or list all addresses “ls *.addr”
I followed this structure when setting up my node for exactly the easier listing reasons. however the downside is you can’t follow the exercises 1:1, which on the other hand is a good exercise itself