@bitgo/wasm-utxo
v1.31.0
Published
WebAssembly wrapper for rust-bitcoin (beta)
Readme
wasm-utxo
This project is the successor of the Javascript utxo-lib package.
It provides WASM bindings for the rust-bitcoin and rust-miniscript crates
that help verify and co-sign transactions built by the BitGo Wallet Platform API.
Documentation
src/wasm-bindgen.md- Guide for creating WASM bindings using the namespace patternjs/README.md- TypeScript wrapper layer architecture and best practicescli/README.md- Command-line interface for address and PSBT operations
Status
This project is under active development.
| Feature | Bitcoin | BitcoinCash | BitcoinGold | Dash | Doge | Litecoin | Zcash | | --------------------------------------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | | Descriptor Wallet: Address Support | ✅ Complete | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | | Descriptor Wallet: Transaction Support | ✅ Complete | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | | FixedScript Wallet: Address Generation | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | | FixedScript Wallet: Transaction Support | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete | ✅ Complete |
Zcash Features
Zcash support includes:
- Network Upgrade Awareness: Automatic consensus branch ID determination based on block height
- All Network Upgrades: Support for Overwinter, Sapling, Blossom, Heartwood, Canopy, Nu5, Nu6, and Nu6_1
- Height-Based API: Preferred
createEmpty()method automatically selects correct consensus rules - Parity Testing: Validated against
zebra-chainfor accuracy across all network upgrades
Building
Mac
Requires Homebrew LLVM (Apple's Clang doesn't support WASM targets):
brew install llvm
npm run buildDocker (optional)
If you prefer a containerized build environment:
make -f Container.mk build-image
make -f Container.mk build-wasm