Updates README.md

Adds a larger warning to the stability of the master branch; and updates the library description to be more accurate.
This commit is contained in:
Daniel Cousens 2014-04-24 01:20:00 +10:00
parent bc37e65014
commit 96fb95dff6

View file

@ -4,25 +4,36 @@
[![Browser Support](https://ci.testling.com/bitcoinjs/bitcoinjs-lib.png)](https://ci.testling.com/bitcoinjs/bitcoinjs-lib) [![Browser Support](https://ci.testling.com/bitcoinjs/bitcoinjs-lib.png)](https://ci.testling.com/bitcoinjs/bitcoinjs-lib)
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. A pure JavaScript Bitcoin library for node.js and browsers.
A continued implementation of the original `0.1.3` version used by over a million wallet users; and the backbone for almost all Bitcoin web wallets in production today.
## Should I use this in production?
Master is **not** yet stable; it is our development branch, and only tagged releases may be classified as stable.
This is not the original bitcoinjs-lib that was not updated for a long time.
Master is currently being heavily refactored to clean things up, add new functionality and merge improvements from the community.
If you are looking for the original, it is tagged as `0.1.3`.
We are releasing quasi-stable releases tagged under `0.2.x`, with the expectation that this still beta software and as mentioned in our LICENSE, `THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED`.
**Warning**: Master is not stable. Expect the interface to change rapidly, including some of the examples below. 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.
## Features ## Features
- Bitcoin Testnet and Mainnet (production) support - Bitcoin Testnet and Mainnet (production) support
- [HD Wallets](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) - [HD Wallets](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
- Highly secure random private key / address generation using [window.crypto.getRandomValues](https://developer.mozilla.org/en-US/docs/Web/API/Window.crypto) - Random private key generation that uses [window.crypto.getRandomValues](https://developer.mozilla.org/en-US/docs/Web/API/Window.crypto) in the underlying implementation.
- ECDSA signing and verification - ECDSA signing and verification
- Transaction creation (pay-to-pubkey-hash), support for multisignature transactions - Standard Transaction creation (pay-to-pubkey-hash), support for multisignature transactions
- A (somewhat incomplete) wallet implementation, improvements ongoing - A (somewhat incomplete) wallet implementation, improvements ongoing
## Installation ## Installation
`npm install bitcoinjs-lib` `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. 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.
## Setup ## Setup
### Node.js ### Node.js
@ -33,6 +44,7 @@ From the repo:
var bitcoin = require('./src/index.js') var bitcoin = require('./src/index.js')
### Browser ### Browser
Compile `bitcoinjs-min.js` with the following command: Compile `bitcoinjs-min.js` with the following command:
@ -41,10 +53,12 @@ Compile `bitcoinjs-min.js` with the following command:
After loading this file in your browser, you will be able to use the global `Bitcoin` object. After loading this file in your browser, you will be able to use the global `Bitcoin` object.
## Usage ## Usage
These examples assume you are running bitcoinjs-lib in the browser. These examples assume you are running bitcoinjs-lib in the browser.
### Generating a Bitcoin address ### Generating a Bitcoin address
```javascript ```javascript
@ -95,6 +109,7 @@ console.log(tx.serializeHex())
Feel free to send pull requests to have your project/startup listed here. Feel free to send pull requests to have your project/startup listed here.
## Contributing ## Contributing
### Instructions ### Instructions
@ -103,19 +118,23 @@ Feel free to send pull requests to have your project/startup listed here.
2. Push changes to your fork 2. Push changes to your fork
3. Create a pull request 3. Create a pull request
### Running the test suite ### Running the test suite
$ npm test $ npm test
## Alternatives ## Alternatives
- [Bitcore](https://github.com/bitpay/bitcore) - [Bitcore](https://github.com/bitpay/bitcore)
- [Cryptocoin](https://github.com/cryptocoinjs/cryptocoin) - [Cryptocoin](https://github.com/cryptocoinjs/cryptocoin)
## License ## License
This library is free and open-source software released under the MIT license. This library is free and open-source software released under the MIT license.
## Copyright ## Copyright
BitcoinJS (c) 2011-2012 Stefan Thomas BitcoinJS (c) 2011-2012 Stefan Thomas