Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rust-bitcoin/bip322
Implements BIP322 generic message signing and verification
https://github.com/rust-bitcoin/bip322
bitcoin rust
Last synced: 2 months ago
JSON representation
Implements BIP322 generic message signing and verification
- Host: GitHub
- URL: https://github.com/rust-bitcoin/bip322
- Owner: rust-bitcoin
- Created: 2024-07-22T22:17:48.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-10-20T23:56:59.000Z (3 months ago)
- Last Synced: 2024-10-21T03:27:20.944Z (3 months ago)
- Topics: bitcoin, rust
- Language: Rust
- Homepage: http://bip322.rs
- Size: 1.18 MB
- Stars: 13
- Watchers: 2
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# BIP-322
Implements
[BIP-322](https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki),
generic message signing and verification.## 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.- [x] simple
- [x] full
- [ ] full (proof-of-funds)
- [ ] legacy (BIP-137)The goal is to provide a full signing and verifying library similar to
[this](https://github.com/ACken2/bip322-js/tree/main) Javascript library.## Test Vectors
- from Bitcoin Core [repo](https://github.com/bitcoin/bitcoin/blob/29b28d07fa958b89e1c7916fda5d8654474cf495/src/test/util_tests.cpp#L2747)
- from [bip322-js](https://github.com/ACken2/bip322-js/blob/main/test/Verifier.test.ts)
- from [BIP-322](https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki#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](https://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`.