📓
Stake Pool Scripts by APEX Stake Pool
  • Stake pool registration
    • Directory structure
    • Wallet
    • Metadata
    • Configuration file
    • Stake pool scripts
      • Cold key
      • VRF key
      • KES key
      • Operational certificate
      • Registration certificate
      • Stake key registration
      • Stake key delegation
    • Transaction
      • Using a remote node
      • Transaction scripts
    • Retiring the stake pool
  • Hardware wallet for Pledge
    • Stake key
    • Registration certificate
    • Stake key registration
    • Stake key delegation
    • Transactions
      • Registration certificate
      • Delegation certificate
  • Running a cardano node
    • Starting a relay node
    • Starting a block producing node
Powered by GitBook
On this page
  1. Hardware wallet for Pledge
  2. Transactions

Delegation certificate

The hardware wallet stake key registration and delegation certificates must be submitted to the blockchain in a separate transaction. This transaction must be signed with the hardware wallet (for the hardware wallet stake key) and with the payment key (used to pay the transaction fees). Any payment address/key can be used for this. In the scripts below, the pledge wallet (first pool owner) is used.

In a new subfolder in the transactions subfolder, and create and execute the following scripts:

transaction.sh:

#!/bin/bash


source ../../pool-scripts/env

ADDRESS=$(cat ${NODE_HOME}/keys/payment-0.addr)
TRANS=$(cardano-cli query utxo ${NET} --address $ADDRESS | tail -n +3 | sort -k3rn | tail -n 1)
UTXO=$(echo ${TRANS} | awk '{print $1}')
ID=$(echo ${TRANS} | awk '{print $2}')
TXIN="${UTXO}#${ID}"

cardano-cli transaction build \
${NET} \
--cddl-format \
--witness-override 2 \
--tx-in ${TXIN} \
--change-address $(cat ${NODE_HOME}/keys/payment-0.addr) \
--certificate-file ${NODE_HOME}/pool-certificates/ledger-stake-registration.cert \
--certificate-file ${NODE_HOME}/pool-certificates/ledger-stake-delegation.cert \
--out-file tx.raw

witness-payment.sh:

#!/bin/bash


source ../../pool-scripts/env

cardano-cli transaction witness \
--tx-body-file tx.raw \
--signing-key-file ${NODE_HOME}/keys/payment-0.skey \
${NET} \
--out-file tx-payment.witness

witness-hw-stake.sh (executing this requires confirmation in the hardware wallet):

#!/bin/bash


source ../../pool-scripts/env

cardano-hw-cli transaction witness \
--tx-file tx.raw \
--hw-signing-file ${NODE_HOME}/keys/ledger-stake.hwsfile \
${NET} \
--out-file tx-ledger-stake.witness

transaction-assemble.sh:

#!/bin/bash


cardano-cli transaction assemble \
--tx-body-file tx.raw \
--witness-file tx-payment.witness \
--witness-file tx-ledger-stake.witness \
--out-file tx.multisign

submit.sh:

#!/bin/bash


source ../../pool-scripts/env

cardano-cli transaction submit \
--tx-file tx.multisign \
${NET}

With this transaction, the process of adding the hardware wallet as a stake pool owner is complete.

PreviousRegistration certificateNextRunning a cardano node

Last updated 1 year ago