Bitcoin Transaction Issue Causes Local Mempool Broadcast to Disappear
Recently, several users have reported an annoying issue where Bitcoin transactions are not showing up in local broadcasts, despite sending raw transactions over the Bitcoin network.
A specific symptom is that after sending a raw transaction (SendRawTransaction(raw_tx, 100000)) and broadcasting it locally using the Bitcoin Core client’s localBroadcast()
function, the transaction does not show up on platforms such as mempool.space.
This issue has been confirmed by multiple users who have tried to reproduce it with minimal configuration and no external dependencies. It appears that the cause of this issue is a recent change in the local broadcast functionality.
A Closer Look at the Code
To better understand the cause of this issue, we can take a closer look at the code. In Bitcoin Core 20.1.0 and later, the localBroadcast()
function has been changed to throw an exception if it finds no matching transactions in the mempool.
The error message “Local broadcast failed: no transaction found” is displayed, which may indicate a problem finding a matching transaction on the local network.
Test and Reproduction
To reproduce this issue, do the following:
txpool SendRawTransaction(raw_tx, 100000)
.localBroadcast()
.If you encounter any issues during this process, share your results in the comments below.
Conclusion
The sudden disappearance of local streams from the Bitcoin memory pool has caused frustration among users and developers. By understanding the cause of this issue, we will be able to identify potential solutions to restore the reliability of local streaming. In this article, we have looked at the possible causes of this issue and tested various scenarios to reproduce and verify the issues.
Stay Up-to-Date
If you are a Bitcoin Core developer or enthusiast, be sure to stay up-to-date with the latest developments in the Bitcoin space. New software versions are released regularly that can resolve the remaining issues affecting local streaming.