[Bitcoin-development] Plans to separate wallet from core

Wladimir laanwj at gmail.com
Mon Jun 23 10:32:50 UTC 2014


On Mon, Jun 23, 2014 at 11:50 AM, Jorge Timón <jtimon at monetize.io> wrote:
> I know there are plans to separate the wallet from the core code and I
> think it's a great idea that will result in cleaner and more modular
> software.
> But it seems like my assumptions on how this would be done may be incorrect.
>
> I was assuming that the wallet would consume data from a trusted
> bitcoind core node using rpc or a better interface like an http rest
> api (see PR #2844).

It's least surprising if the wallet works as a SPV client by default.
Then, users can use it without first setting up a core. Thus the idea
would be to use P2P primarily.

There could be a mode to use a trusted core by RPC for
mempool/conflicted transaction validation and such. But I'm not sure
about this - as we've seen, pure-SPV wallets work pretty well. If you
want it to act as an edge router you can point a SPV wallet at your
trusted core as well.

There are no plans for adding Electrum-like functionality to bitcoind.
There is already Electrum. Let's not reinvent any wheels.

> So the core would take care of the hard consensus stuff, and the
> wallet would maintain its own database with private keys, addresses,
> balances, etc. and would consume some data contained in bitcoind's
> database.

Right, the wallet would keep track of those.

> I also assumed that the interface between wallet and core would
> include queries to the UTXO (see PR #4351) and maybe TXO (see PR
> #3652) for getting the historic balances.
>
> As said, I'm not sure these assumptions are true anymore so I ask.
> Is this the plan?
> Is the plan that the wallet will use the p2p directly and maintain its
> own chain database?

It does not need to keep a full chain database. But it needs its own
record of the chain, headers-only + what concerns the keys in the
wallet.

Wladimir




More information about the bitcoin-dev mailing list