bitcore

A pure and powerful JavaScript Bitcoin library.

Bitcore

A pure and powerful JavaScript Bitcoin library.

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.

npm install bitcore

Using it in Node.js:

var bitcore = require('bitcore');
 
assert(bitcore.Address.isValid('126vMmY1fyznpZiFTTnty3cm1Rw8wuheev'));
var simpleTx = new bitcore.Transaction();
var simpleTx.from(unspent).to(address, amount);
simpleTx.sign(privateKey);

The complete docs are hosted here: bitcore documentation. There's also a bitcore API reference available generated from the JSDocs of the project, where you'll find low-level details on each bitcore utility.

Read the Developer Guide

Read the API Reference

To get community assistance and ask for help with implementation questions, please use our community forums.

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:

ModuleVersionBuildingCoverage
bitcore-payment-protocol
bitcore-p2p
bitcore-mnemonic
bitcore-ecies
bitcore-channel
bitcore-explorers
bitcore-message

We're using Bitcore in production, as are many others, 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.

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 file.

To build bitcore full bundle for the browser:

gulp browser

This will generate files named bitcore.js and bitcore.min.js.

You can also use our pre-generated files, provided for each release along with a PGP signature by one of the project's main contributors. To get them, checkout a release commit (for example, https://github.com/bitpay/bitcore/commit/2670cd1ac5ec1742aae0599e1583c063415959ff for v0.10.4).

To verify signatures, use the following PGP keys:

  • @maraoz: https://pgp.mit.edu/pks/lookup?op=get&search=0x64F3727BFE0B3196
  • @eordano: https://pgp.mit.edu/pks/lookup?op=get&search=0x00BD4BAF1DEEAC20
  • @yemel: https://pgp.mit.edu/pks/lookup?op=get&search=0xB4A468A6F14B6843
  • @braydonf: https://pgp.mit.edu/pks/lookup?op=get&search=0x9BBF07CAC07A276D

Run all the tests:

gulp test

You can also run just the NodeJS tests with gulp test:node, just the browser tests with gulp test:browser or create a test coverage report (you can open coverage/lcov-report/index.html to visualize it) with gulp coverage.

Code released under the MIT license.

Copyright 2013-2015 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.