Recently Cardano has come under heavy load. The consequences have been that some of our transactions which appear to have submitted successfully to the blockchain do not actually end up on the blockchain. By 'appear to' I mean we submit a transaction using the cardano-wallet
api which returns a successful response.
For example:
r = requests.post(f'http://{app.config["WALLET_API_URL"]}/v2/wallets/{app.config["WALLET_ID"]}/transactions', json=outbound_tx.body)
Now, sometimes when we manually follow up on these tx ids it turns out they never show up in cardano explorer. More directly, they never appear on chain. This never happened before the recent congestion so we assume some transactions are being dropped by the chain.
What is the best practice for following up on submitted transactions to ensure they have, in fact, posted to the chain?