A simple, safe, and powerful JavaScript Bitcoin Cash library.
## About Bitcoin Cash
## Bitcoin Cash
Bitcoin Cash is peer-to-peer electronic cash for the Internet. It is fully decentralized, has no central bank, and requires no trusted third-parties to operate. Bitcoin Cash is the continuation of the Bitcoin project, upgraded with consensus rules that allow it to grow and scale.
Bitcoin Cash is the continuation of the Bitcoin project as peer-to-peer electronic cash for the Internet.
## About BitcoinCash.js
Bitcoin Cash uses a different `SigHash` for transaction signatures. The implementation in BitcoinCash.js has been tested agains the original Bitcoin Cash test vectors (see sighash.json in `/test`). Modifications in script evaluation have not yet been implemented.
BitcoinCash.js is the first JavaScript library specifically made for Bitcoin Cash. It supports all major Bitcoin Cash uses cases right out of the box, keeping up-to-date with the latest network upgrades. This library can be used - and is thoroughly tested - both in the back-end (Node.js) and the front-end (web browsers).
## Get Started
BitcoinCash.js is a fork from [bitcore-lib](https://github.com/bitpay/bitcore-lib/), which is an extremely easy-to-use and well-tested JavaScript library for Bitcoin developed by Bitpay, Inc. However, as consensus rules between BTC and BCH become more and more incompatible, BitcoinCash.js will not add support for functionality specific to BTC, such as SegWit or the bech32 address format, and will continue to support all Bitcoin Cash uses cases as first-class citizens.
## Installation
### Using NPM
```s
npm install --save bitcoincashjs
$ npm install --save bitcoincashjs
```
### Using Bower
```s
bower install bitcoincashjs
$ bower install --save bitcoincashjs
```
## Documentation
### Manually
The complete docs are hosted here: [BitcoinCash.js documentation](http://bitcore.io/guide/).
- [Read the Developer Guide](http://bitcore.io/guide/)
You may also download the distribution file manually and place it within your third-party scripts directory: [dist/bitcoincashjs.0.1.0.min.js](https://cdn.rawgit.com/bitcoincashjs/bitcoincashjs/1d3c14da/dist/bitcoincashjs.0.1.0.min.js).
## Examples
You can find many useful, up-to-date examples to get you started right away on the [BitcoinCash.js](https://bitcoincashjs.github.io/#Examples) website or following the next links:
* [Generate a random address](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/docs/examples.md#generate-a-random-address)
* [Generate a address from a SHA256 hash](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/docs/examples.md#generate-a-address-from-a-sha256-hash)
* [Import an address via WIF](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/docs/examples.md#import-an-address-via-wif)
@ -43,30 +48,27 @@ The complete docs are hosted here: [BitcoinCash.js documentation](http://bitcore
* [Create a 2-of-3 multisig P2SH address](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/docs/examples.md#create-a-2-of-3-multisig-p2sh-address)
* [Spend from a 2-of-2 multisig P2SH address](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/docs/examples.md#spend-from-a-2-of-2-multisig-p2sh-address)
## Security
BitcoinCash.js is built upon Bitcore, which is used in production at Bitpay and many other [projects](http://bitcore.io#projects).
If you find a security issue, please email bitcoincashjs@tuta.io.
BitcoinCash.js is a fork from [bitcore-lib](https://github.com/bitpay/bitcore-lib/), which is used in production at Bitpay Inc., and many other [projects](http://bitcore.io#projects). If you find a security issue, please email [bitcoincashjs@tuta.io](mailto:bitcoincashjs@tuta.io).
## Contributing
Please send pull requests for bug fixes, code optimization, and ideas for improvement. For more information on how to contribute, please refer to our [CONTRIBUTING](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/CONTRIBUTING.md) file.
This is an open-source project, and any form of contribution is welcome. Feel free to create an issue in case you would like to share ideas for improvement, or would like to report a bug. Also, please send pull requests for bug fixes or code optimization. For more information on how to contribute, please refer to our [CONTRIBUTING](https://github.com/bitcoincashjs/bitcoincashjs/blob/master/CONTRIBUTING.md) file.
## Development & Tests
## Development
To get started with development, you should first clone the repository and install any dependencies: