blinkhash-utxo-lib

Client-side Bitcoin JavaScript library

Usage no npm install needed!

<script type="module">
  import blinkhashUtxoLib from 'https://cdn.skypack.dev/blinkhash-utxo-lib';
</script>

README

Blinkhash UTXO Library

Codecov Coverage Blinkhash CI License: MIT Downloads Version Known Vulnerabilities Discord

This repository was originally a fork of bitcoinjs-lib, but has since been built out to support the transaction building process of UTXO based coins other than just Bitcoin.

Need Support?

If you need help with a code-related matter, the first place to look is our Discord, where the developers will be available to answer any questions. However, please do not come to me with issues regarding setup. Use Google and the existing documentation for that.


Features

  • Clean: Pure JavaScript, concise code, easy to read.
  • Tested: Coverage > 90%, third-party integration tests.
  • Compatible: Works on Node.js and all modern browsers.
  • Powerful: Support for advanced features, such as multi-sig, HD Wallets.
  • Secure: Strong random number generation, PGP signed releases, trusted developers.
  • Principled: No support for browsers with RNG (IE < 11)
  • Standardized: Node community coding style, Browserify, Node's stdlib and Buffers.
  • Experiment-friendly: Mainnet and Testnet support.
  • Multicoin support: Configurable behaviour based on network objects.

Examples

The below examples are implemented as integration tests, they should be very easy to understand. Otherwise, pull requests are appreciated. Some examples interact (via HTTPS) with a 3rd Party Blockchain Provider (3PBP).

If you have a use case that you feel could be listed here, please ask for it!


Running Tests

npm test
npm run-script coverage

Complementing Libraries

  • BIP21 - A BIP21 compatible URL encoding utility library
  • BIP38 - Passphrase-protected private keys
  • BIP39 - Mnemonic generation for deterministic keys
  • BIP32-Utils - A set of utilities for working with BIP32
  • BIP66 - Strict DER signature decoding
  • BIP69 - Lexicographical Indexing of Transaction Inputs and Outputs
  • Base58 - Base58 encoding/decoding
  • Base58 Check - Base58 check encoding/decoding
  • Bech32 - A BIP173 compliant Bech32 encoding library
  • coinselect - A fee-optimizing, transaction input selection module for bitcoinjs-lib.
  • merkle-lib - A performance conscious library for merkle root and tree calculations.
  • minimaldata - A module to check bitcoin policy: SCRIPT_VERIFY_MINIMALDATA

Donations

Maintaining this project has always been driven out of nothing more than a desire to give back to the mining community, however I always appreciate donations, especially if this repository helps you in any way.

  • Bitcoin: 3EbrVYLxN5WeQmPpL6owo3A7rJELXecbbc
  • Ethereum: 0xd3e3daED621d228244Fa89A3dd8AF07B52E72319
  • Litecoin: MFWpARrSADAy3Qj79C4pSasS9F156QipwC
  • ZCash: t1NSk8gyiou8TxWRZTVuUkfM5f9riopN58A

License

Released under the MIT License. See https://opensource.org/licenses/MIT for more information