Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

RGB-Tools/bp-core

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published