We're excited to announce the release of Bitcore v1.0.0. This upgrade provides a full bitcoin node using Bitcoind, enabling complete compatibility with the Satoshi Client's bitcoin consensus rules, while also providing users with a lightning-fast, intuitive, and extensible bitcoin platform.
With the new service-based architecture, Bitcore makes it easy to participate in the Bitcoin network. Out of the box, Bitcore is a full bitcoin node, and easy-to-install services make it simple to run your own Copay backend (Bitcore Wallet Service), blockchain explorer (Insight), or directly accept bitcoin payments, without extensive development experience.
bitcore-lib. The new Bitcore builds on
bitcore-lib and gives developers a powerful API and full access to blockchain data, without relying on centralized or proprietary services.
Run a Bitcore node and blockchain explorer
Running a full bitcoin node and blockchain API has never been easier.
npm install -g bitcore bitcored
The bundled Bitcoind instance will immediately begin downloading the blockchain, and a local Insight instance is now available at http://localhost:3001/insight/.
Check out our Getting Started Guide for more information and tips.
With Bitcore v1.0.0's blockchain API, we're excited to announce some significant performance increases over the Insight v0.2 blockchain API.
- New, native bindings to Bitcoin Core now allow services on Bitcore to perform over 20 times faster by skipping JSON-RPC altogether. This also enables Bitcore to use existing Bitcoind data directories with
- Bitcore nodes can now sync and index blockchain data at the same time as the underlying Bitcoind initial-sync, cutting spin-up times in half.
- The Address index storage space was reduced by more than 40%, from ~80GB to ~47GB at the time of writing. Deep blockchain reorgs are better handled, with performance scaling linearly.
- P2P or JSON-RPC connection interruptions are a thing of the past, as Bitcoind now runs in the same Node.js process though Bitcore's native bindings.
Built-in blockchain APIs & services
Bitcore now has a modular, service-based architecture, with powerful, out-of-the-box APIs for bitcoin and blockchain-based applications.
The Bitcoin service provides direct access to the bundled Bitcoind node, and provides blocks and transactions as Node.js Buffers. It also emits events for new transactions and blocks.
The Database service synchronizes a database view of the blockchain that can be extended by other services. It handles rolling back changes during a blockchain reorg, as well as staying in sync with the rest of the Bitcoin network.
The Address service builds an index for querying the blockchain by addresses, getting unspent outputs, and viewing transaction history. Its primary use is wallet application development.
The Web service can be used to provide a web interface and API from Bitcore, enabling multiple services to work together on a single Bitcore node.
We're excited to see what can be built as Bitcore services. For more information and examples, please visit bitcore.io.
Upgrading to Bitcore v1.0.0
require('bitcore') continues to expose the Bitcore Library, as well as some added functionality.
bower install bitcore continues to work as expected.
Node.js developers should consider upgrading to the new Bitcore services architecture, enabling their services to be added to a Bitcore node and benefit from Bitcore's performance improvements. See the Insight blockchain explorer and Bitcore Wallet Service (which have both already been upgraded) or check out our Services documentation for more information.
The v1.0.0 release is a major step for Bitcore, providing powerful new tools and APIs for bitcoin developers. Get started at bitcore.io.