I had trouble registering our stake address (starting from here), getting the same error every time even though cross-checking against other instructions & scripts. Then I took it back a step to see if I could submit a transaction for our payments address (payment.addr
in many documents) and got the same error, also every time:
Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (MissingVKeyWitnessesUTXOW (WitHashes (fromList [KeyHash "..."]))))]
I’ve been over this all day and I can’t see what we’re missing. If we can avoid that error message in the basic transaction, we should be able to do the rest of the registration tasks that require payment. I don’t know what part of the error message indicates the problem so I’ll quote our whole process, with apologies for a huge posting. I hope someone can please have a look & say what we might have missed.
Prerequisites (all without error):
payment-source.addr
= one of the addresses from my own Daedalus wallet
core-nyc1$ cardano-cli shelley query utxo --address $(cat payment-source.addr) --mainnet
… shows a single transaction hash & index (calling below TxHash#TxIx
) with 202796000 lovelace
cardano-cli shelley query protocol-parameters \
--mainnet \
--out-file protocol.json
cardano-cli shelley address key-gen \
--verification-key-file payment.vkey \
--signing-key-file payment.skey
cardano-cli shelley stake-address key-gen \
--verification-key-file stake.vkey \
--signing-key-file stake.skey
cardano-cli shelley address build \
--mainnet \
--payment-verification-key-file payment.vkey \
--stake-verification-key-file stake.vkey \
--out-file payment.addr
cardano-cli shelley stake-address build \
--mainnet \
--stake-verification-key-file stake.vkey \
--out-file stake.addr
cardano-cli shelley transaction build-raw \
--tx-in TxHash#TxIx \
--tx-out $(cat payment-source.addr)+0 \
--tx-out $(cat payment.addr)+0 \
--ttl 0 \
--fee 0 \
--out-file fund-payment-addr.tx.test
cardano-cli shelley transaction calculate-min-fee \
--tx-body-file fund-payment-addr.tx.test \
--tx-in-count 1 \
--tx-out-count 2 \
--witness-count 1 \
--byron-witness-count 0 \
--mainnet \
--protocol-params-file protocol.json
176413 Lovelace
202796000 (my UTXO) - 176413 (tx fee) - 2200000 (funding for payment.addr
) = 200419587
set --ttl
= current tip point + 600 or so (we’re not getting the “Expired” error)
cardano-cli shelley transaction build-raw \
--tx-in TxHash#TxIx \
--tx-out $(cat payment-source.addr)+200419587 \
--tx-out $(cat payment.addr)+2200000 \
--ttl 5352560 \
--fee 176413 \
--out-file fund-payment-addr.tx.raw
cardano-cli shelley transaction sign \
--tx-body-file fund-payment-addr.tx.raw \
--signing-key-file payment.skey \
--mainnet \
--out-file fund-payment-addr.tx.signed
Our transaction error (which we also get when submitting our certificate):
cardano-cli shelley transaction submit \
--tx-file fund-payment-addr.tx.signed \
--mainnet
Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (MissingVKeyWitnessesUTXOW (WitHashes (fromList [KeyHash "..."]))))]