Summer of Bitcoin Project Proposal
Description
The current bdk_bitcoind_rpc module requires full access to transaction history using a non-pruned node (a node storing the full blockchain, which at the time of writing is over 400GB).
However, even without a wallet's full transaction history it is still possible to compute the wallet balance and be able to spend with only a pruned bitcoind node using the RPC method scantxoutset. This project will update the existing bdk_bitcoind_rpc module to work with a pruned bitcoind node.
Expected Outcomes
- Update
full_scan to use the scantxoutset if the bitcoind node is pruned.
- Create tests to confirm
full_scan works with a pruned node.
- Update rpc examples and test with a pruned bitcoind node.
Resources
Skills Required
Mentor(s)
@notmandatory
Difficulty
Hard
Competency Test
- Install rust, compile and run all bdk examples and tests.
- Setup a local Bitcoin Core pruned node daemon in regtest mode.
- Make a wallet with
example_bitcoind_rpc_polling example wallet and receive and send regtest bitcoin.