#p2p #bitcoin #light-client

bdk_kyoto

BDK blockchain integration using P2P light client Kyoto

5 releases (breaking)

0.6.0 Dec 18, 2024
0.5.0 Dec 11, 2024
0.4.0 Dec 5, 2024
0.3.0 Nov 7, 2024
0.1.0 Oct 3, 2024

#5 in #light-client

Download history 184/week @ 2024-10-01 80/week @ 2024-10-08 11/week @ 2024-10-15 7/week @ 2024-10-22 123/week @ 2024-10-29 141/week @ 2024-11-05 253/week @ 2024-11-12 8/week @ 2024-11-19 2/week @ 2024-11-26 425/week @ 2024-12-03 627/week @ 2024-12-10 221/week @ 2024-12-17 14/week @ 2025-01-07

236 downloads per month

MIT/Apache

42KB
535 lines

BDK Kyoto

BDK-Kyoto is an extension of Kyoto, a client-side implementation of BIP157/BIP158. These proposals define a way for users to fetch transactions privately, using compact block filters. You may want to read the specification here. Kyoto runs as a psuedo-node, sending messages over the Bitcoin peer-to-peer layer, finding new peers to connect to, and managing a light-weight database of Bitcoin block headers. As such, developing a wallet application using this crate is distinct from a typical client/server relationship. Esplora and Electrum offer proactive APIs, in that the servers will respond to events as they are requested.

In the case of running a node as a background process, the developer experience is far more reactive, in that the node may emit any number of events, and the application may respond to them. BDK-Kyoto curates these events into structures that are easily handled by BDK APIs, making integration of compact block filters easily understood.

Developers are free to use bdk_wallet, or only primitives found in bdk_core and bdk_chain.

License

Licensed under either of

at your option.

Dependencies

~16–29MB
~358K SLoC