#message #signing #generic #verification #full #legacy #bip322

bip322-rs

Implements BIP322 generic message signing and verification

3 releases

new 0.0.11 Nov 1, 2024
0.0.10 Nov 1, 2024
0.0.9 Nov 1, 2024

#23 in Magic Beans

Download history 295/week @ 2024-10-27

295 downloads per month

CC0 license

41KB
1K SLoC

BIP-322

Implements BIP-322, generic message signing and verification. Forked from: https://github.com/rust-bitcoin/bip322

Types of Signatures

At the moment this crate supports P2TR, P2WPKH and P2SH-P2WPKH single-sig addresses. Feedback through issues or PRs on the interface design and security is welcome and encouraged.

  • simple
  • full
  • full (proof-of-funds)
  • legacy (BIP-137)

The goal is to provide a full signing and verifying library similar to this Javascript library.

Test Vectors

Compile for WASM (on MacOs)

brew install llvm
cargo install wasm-pack
rustup target add wasm32-unknown-unknown
AR=/opt/homebrew/opt/llvm/bin/llvm-ar \
CC=/opt/homebrew/opt/llvm/bin/clang \
wasm-pack build \
    --target web \
    --out-name bip322 \
    www

The WASM binary and Javascript glue code can then be found in www/pkg. The bip322.rs site also runs a small WASM binary if you'd like to check it out.

MSRV

At the moment the Minimum Supported Rust Version (MSRV) is 1.63. You can check it by running just msrv.

Dependencies

~8.5MB
~115K SLoC