An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


Kyoto: Bitcoin Light Client



An Implementation of BIP-157/BIP-158


Crate Info
MIT or Apache-2.0 Licensed
CI Status
API Docs
Rustc Version 1.63.0+


## 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.