I need help please, I’m banging my head for the last 5 hours trying to solve this problem.
I am at the last step of registering my staking pool (submit the signed txo) but I keep getting the following error:
Command failed: transaction submit Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (FeeTooSmallUTxO (Coin 215441) (Coin 213109)))),DelegsFailure (DelplFailure (DelegFailure (StakeDelegationImpossibleDELEG (KeyHashObj (KeyHash “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”))))),DelegsFailure (DelplFailure (DelegFailure (StakeDelegationImpossibleDELEG (KeyHashObj (KeyHash “YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY”))))),DelegsFailure (DelplFailure (DelegFailure (StakeDelegationImpossibleDELEG (KeyHashObj (KeyHash “ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ”)))))])
I replaced the actual hashes with X, Y, Z
Correct me if I’m wrong but I think that I have 2 sets of errors here, the FeeTooSmall and the DelegsFailure.
I followed the CoinCashew guide but I changed it in order to have 3 owners in addition to the Stake Pool wallet which also set to be a fourth owner (it is also use as a payment address).
Here are the commands I passed:
OFFLINE
cardano-cli stake-pool registration-certificate
–cold-verification-key-file $HOME/cold-keys/node.vkey
–vrf-verification-key-file vrf.vkey
–pool-pledge 11000000000
–pool-cost 340000000
–pool-margin 0.01
–pool-reward-account-verification-key-file stake.vkey
–pool-owner-stake-verification-key-file stake.vkey
–pool-owner-stake-verification-key-file stake_owner1.vkey
–pool-owner-stake-verification-key-file stake_owner2.vkey
–pool-owner-stake-verification-key-file stake_owner3.vkey
–mainnet
–single-host-pool-relay relay1.mydomain.com
–pool-relay-port 6000
–metadata-url http://www.mydomain.com/poolMetaData.json
–metadata-hash $(cat poolMetaDataHash.txt)
–out-file pool.cert
OFFLINE
cardano-cli stake-address delegation-certificate
–stake-verification-key-file stake.vkey
–cold-verification-key-file $HOME/cold-keys/node.vkey
–out-file deleg.cert
OFFLINE
cardano-cli stake-address delegation-certificate
–stake-verification-key-file stake_owner1.vkey
–cold-verification-key-file $HOME/cold-keys/node.vkey
–out-file deleg_owner1.cert
OFFLINE
cardano-cli stake-address delegation-certificate
–stake-verification-key-file stake_owner2.vkey
–cold-verification-key-file $HOME/cold-keys/node.vkey
–out-file deleg_owner2.cert
OFFLINE
cardano-cli stake-address delegation-certificate
–stake-verification-key-file stake_owner3.vkey
–cold-verification-key-file $HOME/cold-keys/node.vkey
–out-file deleg_owner3.cert
currentSlot=$(cardano-cli query tip --mainnet | jq -r ‘.slot’)
echo Current Slot: $currentSlot
cardano-cli query utxo
–address $(cat payment.addr)
–mainnet > fullUtxo.outtail -n +3 fullUtxo.out | sort -k3 -nr > balance.out
cat balance.out
tx_in=“”
total_balance=0
while read -r utxo; do
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}”
done < balance.out
txcnt=$(cat balance.out | wc -l)
echo Total ADA balance: ${total_balance}
echo Number of UTXOs: ${txcnt}
stakePoolDeposit=$(cat $NODE_HOME/params.json | jq -r ‘.stakePoolDeposit’)
echo stakePoolDeposit: $stakePoolDeposit
cardano-cli transaction build-raw
${tx_in}
–tx-out $(cat payment.addr)+$(( ${total_balance} - ${stakePoolDeposit}))
–invalid-hereafter $(( ${currentSlot} + 10000))
–fee 0
–certificate-file pool.cert
–certificate-file deleg.cert
–certificate-file deleg_owner1.cert
–certificate-file deleg_owner2.cert
–certificate-file deleg_owner3.cert
–out-file tx.tmp
fee=$(cardano-cli transaction calculate-min-fee
–tx-body-file tx.tmp
–tx-in-count ${txcnt}
–tx-out-count 1
–mainnet
–witness-count 3
–byron-witness-count 0
–protocol-params-file params.json | awk ‘{ print $1 }’)
echo fee: $fee
txOut=$((${total_balance}-${stakePoolDeposit}-${fee}))
echo txOut: ${txOut}
cardano-cli transaction build-raw
${tx_in}
–tx-out $(cat payment.addr)+${txOut}
–invalid-hereafter $(( ${currentSlot} + 10000))
–fee ${fee}
–certificate-file pool.cert
–certificate-file deleg.cert
–certificate-file deleg_owner1.cert
–certificate-file deleg_owner2.cert
–certificate-file deleg_owner3.cert
–out-file tx.raw
OFFLINE
cardano-cli transaction sign
–tx-body-file tx.raw
–signing-key-file payment.skey
–signing-key-file $HOME/cold-keys/node.skey
–signing-key-file stake.skey
–signing-key-file stake_owner1.skey
–signing-key-file stake_owner2.skey
–signing-key-file stake_owner3.skey
–mainnet
–out-file tx.signed
cardano-cli transaction submit
–tx-file tx.signed
–mainnet
I can confirm that the 3 hashes appearing in the error (XXX, YYY, ZZZ) belong to the delegation certificates of the 3 owners but the hash of the pool wallet’s certificate (deleg.cert) doesn’t appear in the error.
For the FeeTooSmal error, I tried repeating all the step up to the calculation of the fee then manually replaced the ${fee} variable with the higher value displayed in the error in the transaction build-raw command but without success
What am I missing? What am I doing wrong?