An alternative solution to #7729
This adds a clone of the current wallet. The second wallet can be enabled over --enable-lightwallet
.
Includes:
- The cloned wallet is fully protected in its own namespace
Lightwallet::
. - Thanks to the init.cpp refactoring, the intersection between non-wallet classes is extremely minimal (47 lines in init.cpp).
- Second wallet can run in parallel to the existing one.
- Accounts are fully removed (including
CAccount
,CAccountEntry
, etc.). - Full labels support from #7729
- Only one send command (ex
sandmany
now renamed to “sendcoins”) - All backward compatibility/version detection and version-backward-comp.-fixes has been removed
- Version is reset to
10000
Benefits:
- safe way to remove accounts
- safe way to add BIP32 and multiwallet support
- safe way to remove BerkleyDB
- safe way to slowly process separate the wallet (add SPV)
- safe way to add a complete new GUI
- no promise of a stable API until 0.14 or 0.15.
Currently bitcoin-cli misses some value conversion for some commands (you can use cURL for these commands).
This PR is large because of the copy of the content in src/wallet
. You can verify the copy by diffing the first commit and start review on top of that**