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?