Posted by AntoineP
Feb 25, 2025/19:19 UTC
The discussion revolves around the proposition of refocusing a software project on its node components, which has led to the suggestion of splitting the project into multiprocess binaries. This idea stems from the notion that certain wallet features, such as raw transaction parsing, PSBT updating, script decoding, and signing, do not inherently require node interaction and thus could be more efficiently managed as separate entities, either through libraries or command-line tools akin to bitcoin-tx or bitcoin-wallet. This perspective aligns with the argument that integrating these functionalities directly into the node RPC is not only tangential but also detracts from the core objectives of the node software.
Furthermore, there's a shift in how Bitcoin Development Kit (BDK) approaches indexing, moving away from assuming the necessity of external indexes towards a model that focuses on indexing wallet transactions and establishing a wallet-spk-to-derivation-index index similar to that of the Core wallet. This evolution is highlighted by BDK’s adaptation of a bitcoind RPC chain data source, indicating a trend towards more self-contained and efficient methodologies for managing Bitcoin transactions and wallets within the ecosystem.
The discourse also touches upon the broader implications of software development choices on the Bitcoin community, particularly the allocation of resources. The current approach, which aims to provide comprehensive software solutions for Bitcoin usability, incurs significant costs that are indirectly borne by all users of Bitcoin Core. This is contrasted with the benefits accruing to a relatively small group of direct Core GUI users, suggesting a possible misalignment between resource allocation and user benefit. Additionally, the utility of having integrated wallet functionality for purposes such as functional testing and experimentation on platforms like signet is acknowledged, though it's suggested that future developments could leverage standalone projects for these needs.
In considering alternatives to the current integration of wallet functionalities within the node RPC, the possibility of utilizing existing tools like MiniWallet
or exploring new configurations where Core wallet projects operate independently of the bitcoind
component is discussed. Such arrangements would potentially facilitate the continued exploration of Bitcoin functionalities while allowing for a more focused and efficient development of the node aspects of the software. This approach also opens up the pathway for other wallet solutions to integrate a bitcoin-node
, thereby broadening the ecosystem with a diverse range of tools for users and developers alike.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback