Open notmandatory opened 4 years ago
There is https://github.com/cloudhead/nakamoto which should help implementing this.
Thanks having a chat with that team on Monday.
Any updated thoughts on this after talking with Nakamoto folk? I'm interested in working on this whether it's from scratch or implementing Nakamoto as a blockchain backend for bdk.
The team is certainly open to PRs to integrate Nakamoto as an optional blockchain backend for bdk. I briefly discussed it with Alexis here: https://bitdevsla.org/socratic-seminar-18/
Or you can build on the existing bdk::blockchain::compact_filters
module which currently supports connecting to a single peer (multiple times if you like to improve performance). We'd also love any PRs to improve this module to add multiple peer support and Sybil resistance. For now I've updated the above issue description to reflect what is implemented and integrated with bdk.
Current plan is to integrate Kyoto CBF node with BDK.
This is an overview issue (based on same issue for murmel) for discussion and tracking the addition of a fully functional compact filters Blockchain backend to
bdk
. Ideally we'll have additional issues and/or PRs for each missing feature to link to this issue and we check off each feature as it's completed.The below BIP-157/158 protocol features are based on the BIP-157 Client Operation section. Please suggest additions and corrections in the comments.
Missing protocol features for
bdk
are indicated below with an unchecked box [ ], completed features with a checked box [x].Terminology
Peer Discovery
Connect to Peers
Request Block Headers
Receive Block Headers
Request Filter Headers
Receive Filter Headers
Request Block Filters
Receive Block Filters
Fetch Full Blocks