61 releases

new 0.12.0-alpha.2 Nov 4, 2024
0.11.0-beta.9 Oct 31, 2024
0.11.0-beta.6 May 24, 2024
0.11.0-beta.5 Mar 19, 2024
0.5.2 Jul 4, 2021

#106 in Magic Beans

Download history 1336/week @ 2024-07-15 839/week @ 2024-07-22 1447/week @ 2024-07-29 943/week @ 2024-08-05 1061/week @ 2024-08-12 1628/week @ 2024-08-19 1133/week @ 2024-08-26 1704/week @ 2024-09-02 624/week @ 2024-09-09 1789/week @ 2024-09-16 614/week @ 2024-09-23 310/week @ 2024-09-30 1071/week @ 2024-10-07 298/week @ 2024-10-14 474/week @ 2024-10-21 888/week @ 2024-10-28

2,738 downloads per month
Used in 51 crates (24 directly)

Apache-2.0

650KB
2.5K SLoC

Client-side-validation commit-verify library

Build Tests Lints codecov

Docs unsafe forbidden Apache-2 licensed

This is an implementation of LNPBP-4 multi-commitment standard, LNPBP-9 standard, defining to cryptographic commitment schemes used in client-side-validation, and [LNPBP-81] tagged merkle tree standard. 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 and is performed on its GitHub page.

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

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.

[LNPBP-81]" https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0081.md

Dependencies

~4.5MB
~95K SLoC