15 releases
0.10.9 | Oct 7, 2023 |
---|---|
0.10.7 | Aug 1, 2023 |
0.10.6 | Jul 24, 2023 |
0.10.0-rc.1 |
|
#20 in #lnp-bp
170KB
3.5K
SLoC
Bitcoin protocol core library
The library implements components necessary for [client-side-validation] in bitcoin protocol, specifically
- deterministic bitcoin commitments API (LNPBP-1, LNPBP-2, LNPBP-3, LNPBP-6, LNPBP-11 & LNPBP-12 standards)
- bitcoin-based single-use-seal API (LNPBP-10 standards)
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:
- https://docs.rs/bp-core/
- https://docs.rs/bp-dbc/
- https://docs.rs/bp-seals/
- https://docs.rs/bp-primitives/
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:
- RGB: Confidential & scalable smart contracts for Bitcoin & Lightning
- Bitcoin-based decentralized identity proposal uses single-use-seals
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
~9.5MB
~136K SLoC