Go to file
Braydon Fuller 2bbdc0345b Add tests for exporting library methods. 2015-10-16 12:02:55 -04:00
bin Moved lib to bitcore-lib and added bitcore-cli. 2015-10-15 20:20:19 -04:00
test Add tests for exporting library methods. 2015-10-16 12:02:55 -04:00
.coveralls.yml Update coveralls token 2015-02-12 11:46:21 -03:00
.gitignore ignore browser build signatures 2015-02-18 15:06:08 -03:00
.jshintrc Fixed issue with handling invalid output scripts 2015-05-14 01:50:14 -04:00
.travis.yml Include Node.js 4 in travis builds. 2015-10-07 13:38:27 -04:00
CONTRIBUTING.md Include community website links in CONTRIBUTING. 2015-08-17 14:34:08 -04:00
LICENSE Include Bitcoin Core in License 2015-07-02 10:23:28 -04:00
README.md Update documentation in README 2015-10-16 11:03:27 -04:00
bower.json Bump package version to 0.13.5 2015-10-14 10:23:27 -04:00
gulpfile.js Fix package.json by replacing gulp-bitcore with bitcore-build 2015-01-16 11:59:22 -05:00
index.js Moved lib to bitcore-lib and added bitcore-cli. 2015-10-15 20:20:19 -04:00
karma.conf.js use gulp-bitcore for gulp 2015-01-13 19:02:16 -03:00
package.json Moved lib to bitcore-lib and added bitcore-cli. 2015-10-15 20:20:19 -04:00

README.md

Bitcore

NPM Package Build Status Coverage Status

Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology.

Getting Started

Install with Node.js

npm install -g bitcore

Install for web browsers:

bower install bitcore

Spin up a full node and join the network:

npm install -g bitcore
bitcore create mynode
cd mynode
bitcore start

Create a transaction:

var bitcore = require('bitcore');
var transaction = new bitcore.Transaction();
var transaction.from(unspent).to(address, amount);
transaction.sign(privateKey);

Applications

  • Node - A full node with extended capabilities using Bitcoin Core
  • Insight API - A blockchain explorer HTTP API
  • Insight UI - A blockchain explorer web user interface
  • Wallet Service - A multisig HD service for wallets
  • Wallet Client - A client for the wallet service
  • CLI Wallet - A command-line based wallet client
  • Angular Wallet Client - An Angular based wallet client
  • Copay - An easy-to-use, multiplatform, multisignature, secure bitcoin wallet

Libraries

  • Lib - All of the core Bitcoin primatives including transactions, private key management and others
  • Payment Protocol - A protocol for communication between a merchant and customer
  • P2P - The peer-to-peer networking protocot
  • Mnemonic - Implements mnemonic code for generating deterministic keys
  • Channel - Micropayment channels for rapidly adjusting bitcoin transactions
  • Message - Bitcoin message verification and signing
  • ECIES - Uses ECIES symmetric key negotiation from public keys to encrypt arbitrarily long data streams.

Documentation

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.

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

Examples

Security

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.

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

Building the Browser Bundle

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 maintainers. To get them, checkout a release commit (for example, e33b6e3ba6 for v0.12.6).

To verify signatures, use the following PGP keys:

Development & Tests

git clone https://github.com/bitpay/bitcore
cd bitcore
npm install

Run all the tests:

gulp test

You can also run just the Node.js 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.

License

Code released under the MIT license.

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