THIS IS OBSOLETE
Do not use this, it is here just for historical reasons
This is SatoshiLabs fork of Bitpay's Bitcore that uses Bitcoin 0.15.0. It has a limited segwit support. We also have separate branches for some Bitcoin forks (UASF, 2x, Gold, Cash).
We (SatoshiLabs) are not promising to keep these forks "alive", updated and maintained, long-term. For that reason, they are not pushed into NPM, just on github.
However, right now, we are actively using these in production on https://wallet.trezor.io .
What is also added is support for new smart fees; /utils/estimatesmartfee?nbBlocks=2&mode=economical
returns the new smart fees. Similarly, estimatesmartfee (with int bool
parameters) is added to the bitcore websocket API.
We do not version Bitcore here, either for mainnet or for the forks; we are using https://github.com/satoshilabs/bitcore-deb to build debian packages, which are versioned, for all the coins. So this repo might seem a little chaotic, but we are pinning commit hashes for various altcoins in the bitcore-deb repo.
Bitpay's Bitcore has diverged from our code with their recent rewrites and refactors (for example, added bcoin for transaction parsing); we do not plan to merge the big refactors back here. (see https://github.com/bitpay/bitcore )
Following is original Bitcore readme.
Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology.
Note: If you're looking for the Bitcore Library please see: https://github.com/bitpay/bitcore-lib
Before you begin you'll need to have Node.js v4 or v0.12 installed. There are several options for installation. One method is to use nvm to easily switch between different versions, or download directly from Node.js.
npm install -g bitcore
Spin up a full node and join the network:
npm install -g bitcore
bitcored
You can then view the Insight block explorer at the default location: http://localhost:3001/insight
, and your configuration file will be found in your home directory at ~/.bitcore
.
Create a transaction:
var bitcore = require('bitcore');
var transaction = new bitcore.Transaction();
var transaction.from(unspent).to(address, amount);
transaction.sign(privateKey);
- 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
- 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 protocol
- 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.
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.
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 [email protected].
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.
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
D909 EFE6 70B5 F6CC 89A3 607A 9BBF 07CA C07A 276D
- @gabegattis: https://pgp.mit.edu/pks/lookup?op=get&search=0x441430987182732C
F3EA 8E28 29B4 EC93 88CB B0AA 4414 3098 7182 732C
- @kleetus: https://pgp.mit.edu/pks/lookup?op=get&search=0x33195D27EF6BDB7F
F8B0 891C C459 C197 65C2 5043 3319 5D27 EF6B DB7F
- @matiu: https://pgp.mit.edu/pks/lookup?op=get&search=0x9EDE6DE4DE531FAC
25CE ED88 A1B1 0CD1 12CD 4121 9EDE 6DE4 DE53 1FAC
Code released under the MIT license.
Copyright 2013-2015 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.