0

We are programatically submitting transactions to the blockchain using cardano-wallet. Everything seems to be fine when we do so. cardano-wallet returns a 202 indicating success along with a transaction id and everything else you would expect. However, when we go check the blockchain explorer for the tx it isn't there. As you might expect, the chain never reflects the change (customers don't receive what we send them).

The only thing we see in the logs is that sometime after sending the tx the cardano node will provide the TraceMempoolRemoveTxs error. Here is he full line from the node:

cardano-node-1    | [c7e60f27:cardano.node.Mempool:Info:59] [2021-11-24 20:24:55.43 UTC] fromList [("txs",Array [Object (fromList [("txid",String "txid: TxId {_unTxId = SafeHash \"53625bb985197b9af7e41b12449f70666dcebf8fe9afc65dae29557b31d02d14\"}")])]),("mempoolSize",Object (fromList [("bytes",Number 0.0),("numTxs",Number 0.0)])),("kind",String "TraceMempoolRemoveTxs")]

Now, this event occurs more often than not, but it does not always occur. Sometimes our transactions successfully make it through to the blockchain. We can find no clear pattern on when they do or not.

Does anyone know what is happening here or how we can deal with it?

1

This occurred because our time_to_live in the transaction was too low. The recommended value in iohk documentation is 10 which is woefully inadequate. If this is happening to you bump this up. We set ours to 300 which has been working great.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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