This page may be out of date. Save your unspent bitcoin price before refreshing this page.
Submit any pending changes before refreshing this page. Please include your IP address in your email. This article summarizes my first thoughts about the correct way a Bitcoin client should enable its operator to issue transactions. It is based on my reflexion as well as my experience in broadcasting dozens of hand-crafted transactions for which the bitcoin-core built-in wallet repeatedly demonstrated its ineptitude. As it currently stands, the wallet is an embedded part of the reference implementation. The job of the node is to connect to others via the Internet, and to exchange information with them.
The job of the wallet is to prevent others from connecting via the Internet, which makes the tension quite evident. The wallet, which uses the previous pieces to create transactions, sign and broadcast them. Query the UTXO for unspent outputs given a set of addresses. While the latter doesn’t present much implementation challenges, the former is a whole different story, depending on the particular way it is implemented. Obviously this means the transaction history for addresses can’t be directly queried from the node without a full blockchain rescan.