130 lines
5.8 KiB
Markdown
130 lines
5.8 KiB
Markdown
Bitcore
|
|
=======
|
|
|
|
[](https://www.npmjs.org/package/bitcore)
|
|
[](https://travis-ci.org/bitpay/bitcore)
|
|
[](https://coveralls.io/r/bitpay/bitcore)
|
|
|
|
Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology.
|
|
|
|
## Getting Started
|
|
|
|
Install with Node.js
|
|
|
|
```bash
|
|
npm install -g bitcore
|
|
```
|
|
|
|
Install for web browsers:
|
|
|
|
```bash
|
|
bower install bitcore
|
|
```
|
|
|
|
Spin up a full node and join the network:
|
|
|
|
```bash
|
|
npm install -g bitcore
|
|
bitcore init mynode
|
|
cd mynode
|
|
bitcore start
|
|
```
|
|
|
|
Create a transaction:
|
|
```js
|
|
var bitcore = require('bitcore');
|
|
var transaction = new bitcore.Transaction();
|
|
var transaction.from(unspent).to(address, amount);
|
|
transaction.sign(privateKey);
|
|
```
|
|
|
|
## Applications
|
|
|
|
- [Node](https://github.com/bitpay/bitcore-node) - A full node with extended capabilities using Bitcoin Core
|
|
- [Insight API](https://github.com/bitpay/insight-api) - A blockchain explorer HTTP API
|
|
- [Insight UI](https://github.com/bitpay/insight) - A blockchain explorer web user interface
|
|
- [Wallet Service](https://github.com/bitpay/bitcore-wallet-service) - A multisig HD service for wallets
|
|
- [Wallet Client](https://github.com/bitpay/bitcore-wallet-client) - A client for the wallet service
|
|
- [CLI Wallet](https://github.com/bitpay/bitcore-wallet) - A command-line based wallet client
|
|
- [Angular Wallet Client](https://github.com/bitpay/angular-bitcore-wallet-client) - An Angular based wallet client
|
|
- [Copay](https://github.com/bitpay/copay) - An easy-to-use, multiplatform, multisignature, secure bitcoin wallet.
|
|
|
|
## Extended Features
|
|
|
|
- [Payment Protocol](https://github.com/bitpay/bitcore-payment-protocol) - A protocol for merchant's and customer's wallet
|
|
- [P2P](https://github.com/bitpay/bitcore-p2p) - Peer-to-Peer networking
|
|
- [Mnemonic](https://github.com/bitpay/bitcore-mnemonic) - Implements Mnemonic code for generating deterministic keys.
|
|
- [Channel](https://github.com/bitpay/bitcore-channel) - Micro-payment channels
|
|
- [Message](https://github.com/bitpay/bitcore-message) - Bitcoin message verification and signing
|
|
- [ECIES](https://github.com/bitpay/bitcore-ecies) - Elliptic Curve Integrated Encryption Scheme (ECIES)
|
|
|
|
## 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).
|
|
|
|
## Examples
|
|
|
|
* [Generate a random address](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#generate-a-random-address)
|
|
* [Generate a address from a SHA256 hash](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#generate-a-address-from-a-sha256-hash)
|
|
* [Import an address via WIF](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#import-an-address-via-wif)
|
|
* [Create a Transaction](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#create-a-transaction)
|
|
* [Sign a Bitcoin message](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#sign-a-bitcoin-message)
|
|
* [Verify a Bitcoin message](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#verify-a-bitcoin-message)
|
|
* [Create an OP RETURN transaction](https://github.com/bitpay/bitcore/blob/master/docs/examples.md#create-an-op-return-transaction)
|
|
* [Create a 2-of-3 multisig P2SH address](https://github.com/bitpay/bitcore/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/bitpay/bitcore/blob/master/docs/examples.md#spend-from-a-2-of-2-multisig-p2sh-address)
|
|
|
|
## 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 `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, https://github.com/bitpay/bitcore/commit/e33b6e3ba6a1e5830a079e02d949fce69ea33546 for v0.12.6).
|
|
|
|
To verify signatures, use the following PGP keys:
|
|
- @braydonf: https://pgp.mit.edu/pks/lookup?op=get&search=0x9BBF07CAC07A276D
|
|
- @pnagurny: https://pgp.mit.edu/pks/lookup?op=get&search=0x0909B33F0AA53013
|
|
|
|
## Development & Tests
|
|
|
|
```sh
|
|
git clone https://github.com/bitpay/bitcore
|
|
cd bitcore
|
|
npm install
|
|
```
|
|
|
|
Run all the tests:
|
|
|
|
```sh
|
|
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](https://github.com/bitpay/bitcore/blob/master/LICENSE).
|
|
|
|
Copyright 2013-2015 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.
|