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.

With this update, the Bitcore JavaScript library will now be available for both Node.js (via npm) and the browser (via bower) in the standalone package, 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

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.

Next-generation performance

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 txindex enabled.
  • 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.

Bitcoin Service

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.

Database Service

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.

Address Service

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.

Web Service

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

Upgrading to the Bitcore v1.0.0 JavaScript library is extremely easy. There are no breaking API changes, and require('bitcore') continues to expose the Bitcore Library, as well as some added functionality.

For developers currently working with Bitcore v0.13 in the browser, the bitcore JavaScript library is now available in a standalone package: bitcore-lib, though 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.

Get started

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.