Hi I have 380 mil tokens minted and need to burn 190 mil, I am getting this error on my tx build
/Applications/Daedalus\ Mainnet.app/Contents/MacOS/cardano-cli transaction build \
–mainnet \
–alonzo-era \
–tx-in $txhash#$txix \
–tx-out $targetaddr+$output\ $policyid.$tokenname \
–change-address $changeaddr \
–mint="-188655202"\ $policyid.$tokenname \
–minting-script-file policy/policy.script \
–out-file burning.raw
And if I add $amount to --tx-out I get this new error
Non-Ada assets are unbalanced: 1481209 lovelace + -378655202
You probably do not have enough ADA for 2 outputs. Use only the --change-address to send everything left after burning the tokens to the change address, or use another input with some ADA to be able to have 2 outputs for the transaction. Every output needs at least 1 ADA, and if it contains other tokens, around 1.4 ADA (depending on the token).
Hi Thanks I think there was only one --tx-out and the --change-address so should only be liable for one charge right ? I can put more ADA in the $paymentaddr and try again although I did look at some other docs on Github then I did this and almost got it to submit,
It let me build the burning.raw and burntx.signed but would not submit.
Although I used transaction build-raw instead of transaction build, this then said --mainnet and --change-address was now an invalid option when using build-raw.
So heres my process to get this far.
Build Raw burntx.raw
cardano-cli transaction build-raw
–tx-in $txhash#$txix
–tx-out $targetaddr+$output\ $policyid.$tokenname
–mint="-190000000"\ $policyid.$tokenname
–fee 1344798
–invalid-hereafter 52317489
–minting-script-file policy/policy.script
–out-file burning.raw
Sign burntx.signed
cardano-cli transaction sign
–tx-body-file burning.raw
–signing-key-file payment.skey
–mainnet
–out-file burntx.signed
Submit
cardano-cli transaction submit --mainnet --tx-file burntx.signed
====ERROR ====
Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (ScriptWitnessNotValidatingUTXOW (fromList [ScriptHash “8dec95dfd60b05de0c97a703e1d1baff330fb0f4cba86b92e005aa4a”]))),UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (OutputTooSmallUTxO [(Addr Mainnet (KeyHashObj (KeyHash “b5dffff86532fc446e38414f1ed196e7e1ad7b50839fc0a7da425fac”)) (StakeRefBase (KeyHashObj (KeyHash “baf9b836718d414418b33d56f37345854cab5785d7c144f43e48961d”))),Value 0 (fromList [(PolicyID {policyID = ScriptHash “8dec95dfd60b05de0c97a703e1d1baff330fb0f4cba86b92e005aa4a”},fromList [(“Vilvi”,1655202)])]),SNothing)]))),UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (ValueNotConservedUTxO (Value 3000000 (fromList [(PolicyID {policyID = ScriptHash “8dec95dfd60b05de0c97a703e1d1baff330fb0f4cba86b92e005aa4a”},fromList [(“Vilvi”,-190000000)])])) (Value 1344798 (fromList [(PolicyID {policyID = ScriptHash “8dec95dfd60b05de0c97a703e1d1baff330fb0f4cba86b92e005aa4a”},fromList [(“Vilvi”,1655202)])])))))])
When trying transaction build instead of build-raw I get this error with UTXO
cardano-cli transaction build
–mainnet
–alonzo-era
–tx-in $txhash#$txix
–tx-out $targetaddr+$output\ $policyid.$tokenname
–mint="-190000000"\ $policyid.$tokenname
–change-address $changeaddr
–invalid-hereafter 52317489
–minting-script-file policy/policy.script
–out-file burning.raw
Minimum UTxO threshold not met for tx output:
You are not putting any ADA in that --tx-out
. Put the minimum it tells you in there. --tx-out $targetaddr+<minimal ADA>+$output\ $policyid.$tokenname
We already had that in more detail, here:
Yes, I saw and shortly answered it. Yes, it is --metadata-json-file metadata.json. And you would, of course, need to create that metadata.json file beforehand. The relevant standard, how that should look like, is: CIPs/CIP-0025 at master · cardano-foundation/CIPs · GitHub
They are in that address. It tells you with the values after the +s. First is always ADA/tADA/Lovelace and the rest are other tokens.
A wallet app would decode the base16-encoded token names after the .s for you.
On the o…
That was for sending the tokens, for minting it was here, but it is the same idea:
It’s not a whole stage that is missing. It’s more single steps that are not necessary, are done differently. They use the (newer?) cardano-cli transaction build instead of the (old?) cardano-cli transaction build-raw.
So, the whole process:
tokenname="MyToken"
tokenbase16=$(echo $tokenname | basenc --base16)
amount=1000000
cardano-cli address key-gen --verification-key-file payment.vkey --signing-key-file payment.skey
paymentaddr=$(cardano-cli address build --payment-verification-key-file pay…
Thanks again so much am stuck here so if I find out the minimum use your version of --tx-out ?
–tx-out $targetaddr++$output\ $policyid.$tokenname
How do I find the minimum is it not always the same number ?
You said that cardano-cli
answered with:
The required minimum is printed right in the next line after that.
Yes it is Minimum required UTxO: Lovelace 1344798
So
–tx-out $targetaddr+1344798+$output\ $policyid.$tokenname
Does that look right ?
New Error after submitting Transaction build
Non-Ada assets are unbalanced: 1480945 lovelace + -191655202
Looks right.
When we last did this, we were using $output
for the ADA and $amount
for the amount of tokens. But it doesn’t matter those are just variables.
output=1655202
I think its trying to balance the native tokens in the remaining wallet ?
How many tokens are in the --tx-in
that you are giving in there, how many are you trying to put back in the --tx-out
?
If we are talking native tokens there is a balance of 380 million
0000000
If thats what you mean
And in my paymentaddr
TxHash TxIx Amount
aaf418d6948a622ead1af7b189da09c55951fd5fce1133232d8dd486fb9b68a7 0 2000000 lovelace + TxOutDatumNone
eb5d76b23708138c1b0895f724f3d261049001937a970b3e2fe76268c309d85d 0 3000000 lovelace + TxOutDatumNone
echo $txhash
eb5d76b23708138c1b0895f724f3d261049001937a970b3e2fe76268c309d85d
mattmco:
And in my paymentaddr
If the tokens are not in your $paymentaddr
, you cannot burn them.
ok thats a major revelation thanks so I need to send them to the paymentaddr ?
Yes, if you want to burn them, yes.
mattmco:
1344798
Ok its asking me for an Ada amount how much shall I put 1.344798 ?
I’ll move 190 million now
As many as you want. It will tell you it it is too low to go with the tokens. In your $paymentaddr
you have enough. You can always add another --tx-in
to have enough for the transactions. If you don’t want to do that, you can send like 2 ADA to have enough for the transaction fee of the burning.
mattmco:
1.344798
Annoyingly I did not have enough ada to send the 190million so had to send more ada from another wallet to help cover the fees on the native token wallet just awaiting that transaction to clear and then I will send to the paymentaddr.
So after it arrives I am guessing all the ada outputs may change or can I use the same ?