Hello community.
I’ve been trying for a few days now to send a transaction with cardano-cli, but no luck.
The addresses below are not accurate on purpose as I didn’t want to share the real values.
Here are the commands I’m trying.
To get the protocol parameters:
cardano-cli query protocol-parameters
–mainnet
–out-file protocol.json
To find the current slot
currentSlot=$(cardano-cli query tip --mainnet | jq -r ‘.slot’)
echo Current Slot: $currentSlot
To find UTXOs
cardano-cli query utxo
–address $(cat payment.addr)
–mainnet
To insert the destination address:
destinationAddress=addr1q9m06px5euz4nhdd4lgmmuearw47kgl98esyyexlkga2pvdne23mrpa39c089vrqzu2xh6n56zdtz0u2dk93yvp63u7snrn4y2
echo destinationAddress: $destinationAddress
To find my balance:
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
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}
Drafting the transaction:
cardano-cli transaction build-raw
–tx-in 08ecf55363fac239cbcaa50cba6cd66bf06a18bc9178190c60d02c5d203b3012#0
–tx-out $(cat payment.addr)+0
–tx-out ${destinationAddress}+0
–invalid-hereafter 0
–fee 0
–out-file tx.draft
Calculating the fee:
cardano-cli transaction calculate-min-fee
–tx-body-file tx.draft
–tx-in-count 1
–tx-out-count 2
–witness-count 1
–byron-witness-count 0
–mainnet
–protocol-params-file protocol.json
expr 116460275 - 2000000 - 176589 = 114283686
txOut=114283686
echo Change Output: ${txOut}
Building the transaction:
cardano-cli transaction build-raw
–tx-in 08ecf55363fac239cbcaa50cba6cd66bf06a18bc9178190c60d02c5d203b3012#0
–tx-out $(cat payment.addr)+${txOut}
–tx-out ${destinationAddress}+2000000
–invalid-hereafter $(( ${currentSlot} + 10000))
–fee 176589
–out-file tx.raw
Signing the transaction:
cardano-cli transaction sign
–tx-body-file tx.raw
–signing-key-file payment.skey
–mainnet
–out-file tx.signed
Submit the transaction:
cardano-cli transaction submit
–tx-file tx.signed
–mainnet
In the end I’m getting this error:
Command failed: transaction submit Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (ValueNotConservedUTxO (Value 1344798 (fromList [(PolicyID {policyID = ScriptHash “5a297aeb79ba4281a153b43f4ff0ed25bc88b7ddc8ba5261b01baec2”},fromList [(“REDACTED”,6)])])) (Value 116460275 (fromList [])))))])
Can you guys tell me if I’m missing something? I’m really going crazy with this.
Any help is appreciated.