24 unstable releases (4 breaking)

new 0.10.0-rc.1 Mar 22, 2023
0.10.0-beta.2 Feb 6, 2023
0.9.0-rc.1 Dec 26, 2022
0.9.0-alpha.1 Nov 17, 2022
0.5.0 Nov 27, 2021

#565 in Magic Beans

Download history 157/week @ 2022-11-29 138/week @ 2022-12-06 170/week @ 2022-12-13 309/week @ 2022-12-20 613/week @ 2022-12-27 184/week @ 2023-01-03 193/week @ 2023-01-10 425/week @ 2023-01-17 395/week @ 2023-01-24 499/week @ 2023-01-31 230/week @ 2023-02-07 268/week @ 2023-02-14 417/week @ 2023-02-21 270/week @ 2023-02-28 562/week @ 2023-03-07 496/week @ 2023-03-14

1,873 downloads per month
Used in 27 crates (12 directly)

Apache-2.0

125KB
1.5K SLoC

Bitcoin protocol core library

Build Tests Lints codecov

crates.io Docs unsafe forbidden Apache-2 licensed

The library implements components necessary for [client-side-validation] in bitcoin protocol, specifically

Client-side-validation is a paradigm for distributed computing, based on top of proof-of-publication/commitment medium layer, which may be a bitcoin blockchain or other type of distributed consensus system.

The development of the library is supported by LNP/BP Standards Association and is performed on its GitHub page.

The original idea of client-side-validation was proposed by Peter Todd with its possible applications designed by Giacomo Zucco. It was shaped into the protocol design by Dr Maxim Orlovsky with a big input from the community.

Minimum supported rust version for the library (MSRV) is 1.66 and 2021 rust edition.

Documentation

Detailed developer & API documentation for all libraries can be accessed at:

To learn about the technologies enabled by the library please check slides from our tech presentations and LNP/BP tech talks videos.

Usage

The repository contains rust libraries for client-side validation.

Use library in other projects

To use libraries, you just need latest version of libraries, published to crates.io into [dependencies] section of your project Cargo.toml. Here is the full list of available libraries from this repository:

bp-primitives = "1" # Bitcoin protocol primitives crate
bp-dbc = "1" # Deterministic bitcoin commitments crate
bp-seals = "1" # Bitcoin single-use-seals crate
bp-core = "1" # Library including both of the previous crates

bp-core crate is an "umbrella" library containing both deterministic bitcoin commitments and bitcoin seals crates inside.

Known applications

The current list of the projects based on the library include:

Contributing

Contribution guidelines can be found in CONTRIBUTING

More information

MSRV

This library requires minimum rust compiler version (MSRV) 1.66.0.

Policy on altcoins

Altcoins and "blockchains" other than Bitcoin blockchain/Bitcoin protocols are not supported and not planned to be supported; pull requests targeting them will be declined.

Licensing

The libraries are distributed on the terms of Apache 2.0 opensource license. See LICENCE file for the license details.

Dependencies

~11MB
~165K SLoC