Bitcore
=======
[](https://www.npmjs.org/package/bitcore)
[](https://travis-ci.org/bitpay/bitcore)
[](https://coveralls.io/r/bitpay/bitcore)
[](https://saucelabs.com/u/maraoz)
A pure and powerful JavaScript Bitcoin library.
## Principles
Bitcoin is a powerful new peer-to-peer platform for the next generation of financial technology. The decentralized nature of the Bitcoin network allows for highly resilient bitcoin infrastructure, and the developer community needs reliable, open-source tools to implement bitcoin apps and services.
## Get Started
```
npm install bitcore
```
Using it in Node.js:
```javascript
var bitcore = require('bitcore');
assert(bitcore.Address.isValid('126vMmY1fyznpZiFTTnty3cm1Rw8wuheev'));
var simpleTx = new bitcore.Transaction();
var simpleTx.from(unspent).to(address, amount);
simpleTx.sign(privateKey);
```
## Documentation
The complete docs are hosted here: [bitcore documentation ](http://bitcore.io/guide/ ). There's also a [bitcore API reference ](http://bitcore.io/api/ ) available generated from the JSDocs of the project, where you'll find low-level details on each bitcore utility.
[Read the Developer Guide ](http://bitcore.io/guide/ )
[Read the API Reference ](http://bitcore.io/api/ )
To get community assistance and ask for help with implementation questions, please use our [community forums ](http://bitpaylabs.com/c/bitcore ).
## Modules
This module provides bitcoin's core features. Other features and protocol extensions are built into separate modules. Here is a list of official bitcore modules:
Module | Version | Building | Coverage
-------|---------|----------|---------
[bitcore-payment-protocol ](http://github.com/bitpay/bitcore-payment-protocol ) | [](https://www.npmjs.org/package/bitcore-payment-protocol) | [](https://travis-ci.org/bitpay/bitcore-payment-protocol) | [](https://coveralls.io/r/bitpay/bitcore-payment-protocol)
[bitcore-p2p ](http://github.com/bitpay/bitcore-p2p ) | [](https://www.npmjs.org/package/bitcore-p2p) | [](https://travis-ci.org/bitpay/bitcore-p2p) | [](https://coveralls.io/r/bitpay/bitcore-p2p?branch=master)
[bitcore-mnemonic ](http://github.com/bitpay/bitcore-mnemonic ) | [](https://www.npmjs.org/package/bitcore-mnemonic) | [](https://travis-ci.org/bitpay/bitcore-mnemonic) | [](https://coveralls.io/r/bitpay/bitcore-mnemonic)
[bitcore-ecies ](http://github.com/bitpay/bitcore-ecies ) | [](https://www.npmjs.org/package/bitcore-ecies) | [](https://travis-ci.org/bitpay/bitcore-ecies) | [](https://coveralls.io/r/bitpay/bitcore-ecies)
[bitcore-channel ](http://github.com/bitpay/bitcore-channel ) | [](https://www.npmjs.org/package/bitcore-channel) | [](https://travis-ci.org/bitpay/bitcore-channel) | [](https://coveralls.io/r/bitpay/bitcore-channel)
[bitcore-explorers ](http://github.com/bitpay/bitcore-explorers ) | [](https://www.npmjs.org/package/bitcore-explorers) | [](https://travis-ci.org/bitpay/bitcore-explorers) | [](https://coveralls.io/r/bitpay/bitcore-explorers)
## Security
We're using Bitcore in production, as are [many others ](http://bitcore.io#projects ), but please use common sense when doing anything related to finances! We take no responsibility for your implementation decisions.
If you find a security issue, please email security@bitpay.com.
## 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/bitpay/bitcore/blob/master/CONTRIBUTING.md ) file.
## Building the Browser Bundle
To build bitcore full bundle for the browser:
```sh
gulp browser
```
This will generate files named `browser/bitcore.js` and `browser/bitcore.min.js` .
## Tests
Run all the tests:
```sh
gulp test
```
Run the NodeJS tests with mocha:
```sh
gulp test:node
```
Run the browser tests with karma:
```sh
gulp test:browser
```
Create a test coverage report (you can open `coverage/lcov-report/index.html` to visualize it):
```sh
gulp coverage
```
## License
Code released under [the MIT license ](https://github.com/bitpay/bitcore/blob/master/LICENSE ).
Copyright 2013-2015 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.