commit_verify 0.5.0

Commit-verify API for client-side validation
Documentation

Client-side-validation commit-verify library

Build Tests Lints codecov

crates.io Docs unsafe forbidden Apache-2 licensed

This is an implementation of [LNPBP-4] multi-commitment standard and [LNPBP-9] standard, defining to cryptographic commitment schemes used in client-side-validation. It is a part of more generic client_side_validation library covering other client-side-validation 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.

Documentation

Detailed developer & API documentation for the library can be accessed at https://docs.rs/commit_verify/

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

Usage

To use the library, you just need to reference a latest version, in [dependencies] section of your project Cargo.toml.

commit_verify = "1"

If you are using other client-side-validation libraries, consider importing just a single client_side_validation library which re-exports all of them, including the current one.

The library has just a two feature flags, both of which are not used by default:

  • rand, providing support for generating random 32-byte sequences of Slice32 type, used in many LNP/BP applications (for instance as hash-lock preimages or during LNPBP-4 multi-commitments)
  • serde, providing support for data structure serialization with serde across the library

Contributing

Contribution guidelines can be found in CONTRIBUTING

Licensing

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