https://github.com/2140-dev/kyoto
An implementation of Bitcoin Improvement Proposal 157/158
https://github.com/2140-dev/kyoto
bitcoin cryptocurrency networking peer-to-peer
Last synced: about 1 year ago
JSON representation
An implementation of Bitcoin Improvement Proposal 157/158
- Host: GitHub
- URL: https://github.com/2140-dev/kyoto
- Owner: 2140-dev
- License: other
- Created: 2024-05-03T06:27:54.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-06-01T08:16:59.000Z (about 1 year ago)
- Last Synced: 2025-06-01T08:37:46.382Z (about 1 year ago)
- Topics: bitcoin, cryptocurrency, networking, peer-to-peer
- Language: Rust
- Homepage: https://docs.rs/kyoto-cbf
- Size: 1.42 MB
- Stars: 69
- Watchers: 8
- Forks: 13
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
## About
Kyoto is aiming to be a simple, memory-conservative, and private Bitcoin client for developers to build wallet applications. To read more about the scope, usage recommendations, and implementation details, see [DETAILS.md](./doc/DETAILS.md).
## Running an example
To run the Signet example, in the root directory:
```
cargo run --example signet
```
Or, with `just`:
```
just example
```
## Getting Started
It is recommended to walk through the [Signet example code](./example/signet.rs). Unlike usual clients that source data from the blockchain, there are two components to the CBF system. There is a "node" that fetches data on behalf of a user, and a "client" that receives data, logs, and warnings from the node. The client may also interact with the node by sending transactions to broadcast or new scripts. This crate allows a highly configurable node construction, so your app may optimize for the desired speed, privacy, and preferences.
See the [docs](https://docs.rs/kyoto-cbf) for more details on the `NodeBuilder`, `Node`, `Client`, and more.
### BDK
Kyoto integrates well with the Bitcoin Dev Kit (BDK) ecosystem.
* **[Book of BDK - Kyoto Examples](https://bookofbdk.com/cookbook/syncing/kyoto/)**: Learn how to use Kyoto with BDK Wallet through step-by-step examples.
* **[BDK FFI](https://github.com/bitcoindevkit/bdk-ffi)**: Build native Bitcoin experiences across multiple platforms by combining Kyoto with BDK's foreign function interface libraries.
* **[bdk-kyoto Crate](https://github.com/bitcoindevkit/bdk-kyoto)**: A dedicated crate that provides direct integration between BDK and Kyoto for Rust applications.
## Minimum Supported Rust Version (MSRV) Policy
The `kyoto` core library with default features supports an MSRV of Rust 1.63.
## Contributing
Please read [CONTRIBUTING.md](./CONTRIBUTING.md) to get started.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([LICENSE-MIT](LICENSE-MIT) or )
at your option.