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.
To run the Signet example, in the root directory:
cargo run --example signet
Or, with just
:
just example
It is recommended to walk through the Signet example code. 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 for more details on the NodeBuilder
, Node
, Client
, and more.
Kyoto integrates well with the Bitcoin Dev Kit (BDK) ecosystem.
- Book of BDK - Kyoto Examples: Learn how to use Kyoto with BDK Wallet through step-by-step examples.
- BDK FFI: Build native Bitcoin experiences across multiple platforms by combining Kyoto with BDK's foreign function interface libraries.
- bdk-kyoto Crate: A dedicated crate that provides direct integration between BDK and Kyoto for Rust applications.
The kyoto
core library with default features supports an MSRV of Rust 1.63.
Please read 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.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.