BIP322-JS
A Javascript library that provides utility functions related to the BIP-322 signature scheme.
Limitations
Only P2PKH, P2SH-P2WPKH, P2WPKH, and single-key-spend P2TR are supported in this library.
Documentation
Available at https://acken2.github.io/bip322-js/
Supported Features
- Generate raw toSpend and toSign BIP-322 transactions
- Sign a BIP-322 signature using a private key
- Verify a simple BIP-322 signature
Example
const { BIP322, Signer, Verifier } = require('bip322-js');
const privateKey = 'L3VFeEujGtevx9w18HD1fhRbCH67Az2dpCymeRE1SoPK6XQtaN2k';
const address = 'bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l';
const message = 'Hello World';
const signature = Signer.sign(privateKey, address, message);
console.log(signature);
const validity = Verifier.verifySignature(address, message, signature);
console.log(validity);
const scriptPubKey = Buffer.from('00142b05d564e6a7a33c087f16e0f730d1440123799d', 'hex');
const toSpend = BIP322.buildToSpendTx(message, scriptPubKey);
const toSpendTxId = toSpend.getId();
const toSign = BIP322.buildToSignTx(toSpendTxId, scriptPubKey);
More working examples can be found within the unit test for BIP322, Signer, and Verifier.