bp-dbc 0.9.0

Deterministic bitcoin commitments library
Documentation

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

  • deterministic bitcoin commitments API (LNPBP-14, 6 standards)
  • bitcoin-based single-use-seal API (LNPBP-10 and LNPBP-39 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.

Usage

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-dbc = "0.5" # Deterministic bitcoin commitments crate
bp-seals = "0.5" # Bitcoin single-use-seals crate
bp-core = "0.5" # Library including both of the previous crates

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

Command-line utilities

One may install command-line utilities with the following command (requires rust compiler and rustup tools to be already installed on a system):

$ rustup default stable
$ rustup update
$ git clone https://github.com/BP-WG/bp-core
$ cd bp-core
$ cargo install --path . --bins --locked --all-features

This will add seals and dbc commands to the system.

Install with Docker

Build

Clone the repository and checkout to the desired version (here v0.8.0):

$ git clone https://github.com/BP-WG/bp-core
$ cd bp-core
$ git checkout v0.8.0

Build and tag the Docker image:

$ docker build -t bp-core:v0.8.0 .

Usage

$ docker run bp-core:v0.8.0 seals --help
$ docker run bp-core:v0.8.0 dbc --help

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

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

See LICENCE file.