More developers than ever are using Bitcoin and blockchain technology to build projects and businesses. Since February 2014, we've been excited to provide Bitcore as a Node.js platform for those developers to build their applications.
Now, version 8 of Bitcore Node (Bitcore's blockchain-indexing node) is set to bring some massive scalability benefits to Bitcoin and blockchain applications. This release is still in beta, and we want to get your feedback and pull requests. Here's what's available in version 8:
Get horizontal scaling for your blockchain applications
We've built Bitcore Node v8 on the performance and scalability of MongoDB. The addition of MongoDB makes it possible for you to sync your Bitcore node on multiple devices simultaneously, giving you much faster queries for blockchain data. Now Bitcore Node can handle the massive number of queries for addresses and balances that are already essential for large-scale blockchain businesses.
To give you an idea of the scalability improvements, imagine a business wallet with millions of addresses. With previous Bitcore Node versions, it would have taken 10 minutes for the wallet to query all unspent outputs (i.e. find out your wallet balance and transaction history) across those millions of addresses. Now it takes about a second (or less).
If an Amazon.com wanted to run its entire payment operation using a Bitcoin wallet, this Bitcore node could do the job.
Enable multiple cryptocurrency blockchains in Bitcore-based applications
Want to add support for multiple cryptocurrencies' blockchains to your wallet, block explorer, or other blockchain app? Instead of taking months to implement a modified Bitcore node for each chain, you can add a new blockchain to your Bitcore-based application in a day to a week.
Bitcore Node v8 makes it easy to connect your Bitcore node to an Ethereum, Litecoin, Bitcoin Cash, or other blockchain's node. From there, all you need to do is implement
bitcore-lib to get indexed blocks and transactions and add a chain-state provider (check out a chain-state provider for BTC and BCH) to get uniform REST API calls.
Fortunately, talented developers have already created versions of
bitcore-lib for some of the top blockchains:
With Bitcore Node v8's scalability improvements, you can query all of these blockchains at a level of performance not possible with previous Bitcore Node versions.
Store blockchain data more efficiently
This version of Bitcore Node has configurable fork handling. Now you don't have to store blockchain data for both the origin network and the forked network.
Just give the fork height between the chains and the new chain will only store unspent transactions at the time of the fork copied from the parent chain. Your Bitcore node will be able to handle forks better, while not duplicating pre-fork blockchain data.
Simplify Bitcore services
Consume blockchain data from a simple REST API – complicated plugin services no longer required. With the new Bitcore Node, calls are made in a standard way that makes it easy to get data across chains and networks.
This change should reduce the effort required for building out multi-blockchain applications.
Get started in a flash
Want to test everything out? You can spin up Bitcore node in two easy steps:
npm install -g bitcore-node@beta
Requirements: To launch
bitcore-node, you will need to be running Node.js >= 8 and Mongo version >= 3.6, as well as a trusted P2P peer (AKA a full node of the chain you are using). You will also need a
bitcore.config.json file (check out an example) in your home directory.
This version of Bitcore Node is still in beta, so we look forward to hearing feedback and accepting pull requests from open source developers like you. We are now tracking all changes to Bitcore projects in the main Bitcore repo. Now you can track our development progress and changes better as we build the best development platform for Bitcoin and other blockchain applications.
Want to work on Bitcore (and other cool software) at BitPay? We're hiring!