Update Pool - solidsnakedev/cardano_commands GitHub Wiki
Requirements
NODE_HOME=/node
POOL_KEYS=${NODE_HOME}/pool-keys
DATA=${POOL_KEYS}/data
NETWORK=--mainnet
Download last "pool metadata"
URL_METADATA=https://solidsnakedev.github.io/poolMetadata.json
wget ${URL_METADATA} -O ${DATA}/pool_Metadata.json
Calculate the hash of your metadata file
cardano-cli stake-pool metadata-hash --pool-metadata-file ${DATA}/pool_Metadata.json > ${DATA}/pool_MetadataHash.txt
Air-gapped machine
Update the below registration-certificate
PLEDGE=100000000000
COST=340000000
MARGIN=0.019
IP Based
RELAY=194.163.164.5
cardano-cli stake-pool registration-certificate \
--cold-verification-key-file ${POOL_KEYS}/cold.vkey \
--vrf-verification-key-file ${POOL_KEYS}/vrf.vkey \
--pool-pledge ${PLEDGE} \
--pool-cost ${COST} \
--pool-margin ${MARGIN} \
--pool-reward-account-verification-key-file ${POOL_KEYS}/stake.vkey \
--pool-owner-stake-verification-key-file ${POOL_KEYS}/stake.vkey \
--mainnet \
--pool-relay-ipv4 ${RELAY} \
--pool-relay-port 6000 \
--metadata-url ${URL_METADATA} \
--metadata-hash $(cat ${DATA}/pool_MetadataHash.txt) \
--out-file ${DATA}/pool-registration.cert
DNS based
DNS_RELAY=relay-1.elemt.xyz
cardano-cli stake-pool registration-certificate \
--cold-verification-key-file ${POOL_KEYS}/cold.vkey \
--vrf-verification-key-file ${POOL_KEYS}/vrf.vkey \
--pool-pledge ${PLEDGE} \
--pool-cost ${COST} \
--pool-margin ${MARGIN} \
--pool-reward-account-verification-key-file ${POOL_KEYS}/stake.vkey \
--pool-owner-stake-verification-key-file ${POOL_KEYS}/stake.vkey \
--mainnet \
--single-host-pool-relay ${DNS_RELAY} \
--pool-relay-port 6000 \
--metadata-url ${URL_METADATA} \
--metadata-hash $(cat ${DATA}/pool_MetadataHash.txt) \
--out-file ${DATA}/pool-registration.cert
To honor your pledge, create a delegation certificate:
cardano-cli stake-address delegation-certificate \
--stake-verification-key-file ${POOL_KEYS}/stake.vkey \
--cold-verification-key-file ${POOL_KEYS}/cold.vkey \
--out-file ${DATA}/delegation.cert
Build the transaction.
cardano-cli transaction build \
${NETWORK} \
--witness-override 3 \
--tx-in $(cardano-cli query utxo --address $(cat ${POOL_KEYS}/payment.addr) ${NETWORK} --out-file /dev/stdout | jq -r 'keys[0]') \
--change-address $(cat ${POOL_KEYS}/payment.addr) \
--certificate-file ${DATA}/pool-registration.cert \
--out-file ${DATA}/tx.raw
Air-gapped machine
Sign the transaction.
cardano-cli transaction sign \
--tx-body-file ${DATA}/tx.raw \
--signing-key-file ${POOL_KEYS}/payment.skey \
--signing-key-file ${POOL_KEYS}/stake.skey \
--signing-key-file ${POOL_KEYS}/cold.skey \
${NETWORK} \
--out-file ${DATA}/tx.signed
Block producer
Send the transaction.
cardano-cli transaction submit \
--tx-file ${DATA}/tx.signed \
${NETWORK}