#set #minisketch #reconciliation

sys minisketch-rs

Rust interface to Pieter Wuille's minisketch library for efficient set reconciliation

10 releases

0.1.9 May 17, 2020
0.1.8 Jun 6, 2019
0.1.0 May 31, 2019

#459 in #set

37 downloads per month

Apache-2.0

400KB
3K SLoC

C++ 1.5K SLoC // 0.1% comments M4 661 SLoC // 0.4% comments Rust 288 SLoC // 0.1% comments Automake 75 SLoC // 0.0% comments Shell 44 SLoC // 0.1% comments C 34 SLoC // 0.2% comments

Contains (obscure autoconf code, 3KB) minisketch/configure.ac

minisketch-rs

Crates.io Crates.io Docs.rs Build Status

minisketch-rs is a wrapper around minisketch, a C library by Pieter Wuille for efficient set reconciliation.

minisketch is proposed as a part of an Erlay technique for bandwidth-efficient TX propagation in Bitcoin.

This library exposes type-safe Rust bindings to all minisketch functions by providing Minisketch structure.

Usage

Add dependency in Cargo.toml:

[dependencies]
minisketch-rs = "0.1"

Generate sketches from your sets of data, serialize those sketches and send them around. Reconcile sets between peers by merging sketches.

Examples

See the examples.

Dependencies

~0–2.3MB
~45K SLoC