1

Sending consecutive transactions will result in an error. Using the simple-transaction example below, a transaction is created in Cardano-Serialization-Lib and sent to the blockchain using BrokFrost.
https://github.com/blockfrost/blockfrost-js/tree/master/examples/simple-transaction

At this time, after one transaction is sent. If I create and send transactions consecutively without waiting for a time, I may get the following error and not be able to send.

Transaction db6388f73ed195c30ea264dc968ea364d16fa7a097ddae0236d9fbf1fa150df8 rejected"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (ValueNotConservedUTxO (Value 0 (fromList [])) (Value 206069713 (fromList []))))),UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (BadInputsUTxO (fromList [TxIn (TxId {_unTxId = SafeHash \"607d1531d04bb56da9a6145c784ae2c1b59980ca3703b78777404516d41e93b5\"}) (TxIx 1)]))))])"

I believe this is due to trying to use the same Input for the first transaction and the second transaction , is there any way to resolve this? Also, in this example, what condition is specified in the UTxO of the transaction's Input?
What I would like to achieve

  • We want to create and send a transaction without time after sending once. Example Send 100 transactions per minute from one address.

What we want to know

  • If there is another way to specify the UTxO of Input, is it possible to create and send transactions continuously by changing it?

1 Answer 1

1

If you have a UTxO output A, and you submit a transaction that spends UTxO A, everything should be fine. If you submit a second transaction that also spends UTxO A, then the transaction should fail because the UTxO you are trying to spend has already been spent. This is how the UTxO accounting model works.

Also, I am rather unsure what you mean by

I believe this is due to the UTxO not being updated,

In the UTxO accounting model, UTxOs are never updated.

I suggest you read up on the differences between the account based model used in Ehtereum and the UTxO accounting model used in Cardano (and Bitcoin).

2
  • 1
    Thanks for the answer! As for the difference between UTxO and the account model you pointed out, I thought I understood it, but my explanation was incorrect in this question. UTxO is consumed and new UTxO is generated. I had represented this as an update. And you are trying to use the same Input for the first transaction and the second transaction, right? As for the language, I am Japanese and use machine translation for English, so forgive me if there are some oddities!
    – yousuke
    Commented Sep 29, 2022 at 3:11
  • Yes, if a transaction consumes a UTxO, any subsequent transactions that try to consume the same UTxO will fail because the UTxO has already been spent and no longer exists in the UTxO set. Reading you original post, I would not have guessed that you were using machine translation. Commented Sep 29, 2022 at 5:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.