Plans to separate wallet from core



Summary:

In a discussion on 6/24/14, Mike Hearn mentioned that Bitcoind already supports SPV mode, which is how Bitcoinj clients work. However, the current wallet code doesn't use it and integrates directly with the full mode main loop instead of talking P2P internally. Mike Hearn stated that this was fine and obvious, but he wasn't convinced that it should become an SPV wallet considering the complexity of doing so. If someone wanted to separate the wallet code from the full node, that would be the way to do it. The question is whether or not separating the wallet code from the full node is worth the potentially huge amount of time it could take. Mike Hearn believes that there are bigger priorities in terms of work needed on the core consensus code. Furthermore, the qt-wallet does not support SPV operation at this point, and that complex work should be done after the wallet is separated. The first version of the separated wallet should be functionally equivalent to today's wallet, that is, a full node wallet. Additionally, Electrum has been used as shorthand for "something a bit like the P2P network but with trusted remote servers which build additional databases and thus support additional commands." A bitcoin core node that maintains and serves additional indexes is referred to as "an electrum", even though it doesn't use electrum-server. Mike Hearn accepts the library approach over the "core-wallet protocol" and believes that optionally maintaining additional indexes in the core is interesting for some use cases. However, he thinks that should also be separated into an "index node". Finally, the wallet does not currently operate as SPV, and that work should be done only after the wallet is separated from the core if there's enough interest.


Updated on: 2023-06-09T00:27:44.658001+00:00