Registering Your Stake Address
Pledge is the stake that you delegate to your own pool. Using a transaction, you must register on the blockchain the stake address associated with a payment address containing funds that you want to pledge.
To register a stake address on the blockchain:
Create a certificate, stake.cert, using the stake.vkey
cardano-cli stake-address registration-certificate \
--stake-verification-key-file stake.vkey \
--out-file stake.certCopy stake.cert to your hot environment.
You need to find the tip of the blockchain to set the invalid-hereafter parameter properly.
currentSlot=$(cardano-cli query tip --mainnet | jq -r '.slot')
echo Current Slot: $currentSlotFind your balance and UTXOs.
cardano-cli query utxo \
--address $(cat payment.addr) \
--mainnet > fullUtxo.out
tail -n +3 fullUtxo.out | sort -k3 -nr > balance.out
cat balance.out
tx_in=""
total_balance=0
while read -r utxo; do
type=$(awk '{ print $6 }' <<< "${utxo}")
if [[ ${type} == 'TxOutDatumNone' ]]
then
in_addr=$(awk '{ print $1 }' <<< "${utxo}")
idx=$(awk '{ print $2 }' <<< "${utxo}")
utxo_balance=$(awk '{ print $3 }' <<< "${utxo}")
total_balance=$((${total_balance}+${utxo_balance}))
echo TxHash: ${in_addr}#${idx}
echo ADA: ${utxo_balance}
tx_in="${tx_in} --tx-in ${in_addr}#${idx}"
fi
done < balance.out
txcnt=$(cat balance.out | wc -l)
echo Total available ADA balance: ${total_balance}
echo Number of UTXOs: ${txcnt}Find the amount of the deposit required to register a stake address.
Run the build-raw transaction command
Calculate the current minimum fee:
Calculate your change output.
Build your transaction which will register your stake address.
Copy tx.raw to your cold environment.
Sign the transaction with both the payment and stake secret keys.
Copy tx.signed to your hot environment.
Send the signed transaction.