Since early 2015, I have been working on blockchain technology in relation to both the bitcoin core node and a new implementation of core written in Golang.

Recently, Bitpay has released a very interesting new twist to the way blockchain data is accessed from bitcoin and to me it is one of the most interesting blockchain developments in 2015. Now, it is much simpler to talk to the blockchain via a Nodejs binding to the core shared library. With simple direct calls from Nodejs you can access the blockchain data directly from LevelDb using LevelUp.

The bitpay / bitcore stack now has 4 key components.

bitcore-node

This is the where the Nodejs binding lives to the bitcoin shared library. It also houses the service development infrastructure and architecture. Now it is much easier to write new APIs directly into the blockchain by having a custom service that processes blockchain data in new and novel ways.

bitcore-lib

This is a pure and powerful Javascript Bitcoin library that manipulates and transforms addresses and transactions inside the block. It also makes it easier to generate public keys from a new private key. There is also a simple crypto library tucked inside that implements Big Numbers.

blockchain explorer

On top of these two core infrastructure pieces is an API layer that makes an implementation of a blockchain explorer called insight easy to use. The insight-api layer maps closely to bitcore-lib making it easy to display addresses, transactions and blocks in a nice clean Angular based explorer.

If you have a need to work with blockchain data and or are implementing new blockchain applications this model system is a great place to start.