A pure JavaScript Bitcoin library for node.js and browsers. Backed by (slowly improving) testing, proven by over a million wallet users. The backbone for almost all Bitcoin web wallets in production today.
This is not the original bitcoinjs-lib that was not updated for a while. The current bitcoinjs-lib has been refactored to clean things up, add new functionality and merge improvements from the community. If you are looking for the original, it will be tagged as 0.1.3
. We will use 0.2.x
for releases based on these changes, so be sure to use the 0.1.3
tag if you need the original version.
- Bitcoin Testnet and Mainnet (production) support
- HD Wallets
- Highly secure random private key / address generation using window.crypto.getRandomValues
- ECDSA signing and verification
- Transaction creation (pay-to-pubkey-hash), support for multisignature transactions
- A (somewhat incomplete) wallet implementation, improvements ongoing
npm install bitcoinjs-lib
Note: The npm version is currently out of date, are working to resolve this. The best way to use the latest code is to clone the repository.
$ npm test
var bitcoin = require('bitcoinjs-lib')
From the repo:
var bitcoin = require('./src/index.js')
Compile bitcoinjs-min.js
with the following command:
$ npm run-script compile
After loading this file in your browser, you will be able to use the global Bitcoin
object.
Feel free to send pull requests to have your project/startup listed here.
This library is free and open-source software released under the MIT license.
BitcoinJS (c) 2011-2012 Stefan Thomas Released under MIT license http://bitcoinjs.org/
JSBN (c) 2003-2005 Tom Wu Released under BSD license http://www-cs-students.stanford.edu/~tjw/jsbn/
CryptoJS (c) 2009–2012 by Jeff Mott Released under New BSD license http://code.google.com/p/crypto-js/