This is an advanced feature which will disable any kind of automatic transaction broadcasting in the wallet. It gives the user full control of how their transactions are sent.
They can broadcast a new transaction through some other mechanism, or send it to the recipient directly, after getting the transaction hex through gettransaction
. This can be used to do #4564.
It is an important step toward addressing #3828.
This just adds the option -walletbroadcast=<0,1>
. Right now with -walletbroadcast=0
new transactions will get the status
0Status: conflicted, has not been successfully broadcast yet
…which is a tad strange. This is just a visual issue, though, and goes away when the transaction is received through the network.
Edit: discussing with @gmaxwell on IRC we thought of a way to avoid this without arcane changes to conflict handling: keep track of the seen-the-network status of transactions internally. If the transaction was not seen on the network, either through our own broadcasting or from a third-party, show it with a different status