Notifications from client/wallet [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2011-07-14T14:13:04+00:00


Summary:

The proposal under discussion revolves around the addition of notifications to the client and wallet, with the primary aim of decoupling UI and core communication. To achieve this, the boost::signal mechanism has been put forward as a potential solution. This mechanism functions as a callback system, allowing for the independent delivery of signals from an object. Consequently, multiple other objects can listen in on an event without requiring any involvement from the emitting object.Several specific notifications have been suggested for the wallet, each serving a distinct purpose. These include balanceChanged, which would notify changes in spendable balance, transactionAdded for new transactions added to the wallet, transactionUpdated for modifications in transaction information, transactionRemoved for removed transactions, addressAdded for newly added addresses to the address book, addressUpdated for modifications in address labels or other metadata, addressRemoved for removed addresses from the address book, notification for warnings or errors occurring in wallet or network processing, and askFee for requesting user input on fees.In addition to the aforementioned notifications, the proposal also highlights the need for defining high-level information request functions for transactions. This step aims to eliminate the necessity for GUI/RPC to directly inspect wallet data structures, thus enhancing efficiency and separation of concerns.Furthermore, the proposal suggests the inclusion of network client notifications, such as numConnectionsChanged and numBlocksChanged, which would inform about changes in the number of connections and blocks respectively. Similar to wallet notifications, the network processing would also have a notification feature to handle warnings or errors.Throughout the email thread, implementation details and suggestions are discussed extensively. The authors emphasize the significance of a central notification interface to facilitate source cleanup, enabling clean separation of components and large-scale rewrites without affecting parts that are not being modified. Additionally, the proposal highlights the potential for Bitcoin to be used as a library by various programs, such as pushpoold or a block notification server, demonstrating its versatility and efficiency.


Updated on: 2023-08-01T02:07:20.375268+00:00