Bitpay has launched Bitcore, a native interface to the Bitcoin network that provides the core functionality needed to develop apps for bitcoin.
According to its website,
Bitcore unchains developers from fallible, centralized APIs, and provides the tools to interact with the real Bitcoin network.
It is designed to run server side on node.js or client side in a web browser and interact with a trusted bitcoin node (i.e. a bitcoind instance). It is a collection of objects useful to bitcoin applications in which class-like idioms are enabled via classtool.
Classtool, also created by Stefan Thomas, implements class based inheritance in a notably different way:
- inheritance structure is not part of the class definition
- bindings to the outside are explicit (including binding to a superclass)
- default bindings allow for easy class creation while preserving override capability
As reported by Stephen Pair on the Bitpay blog, BitPay has already used bitcore for a project called Insight that is available as a demo and can be viewed, and forked, on Github.
Insight is a Bitcoin blockchain explorer with complete REST and websocket APIs that can be used for writing web wallets and other apps that need more advanced blockchain queries than provided by bitcoind RPC.
The Bitcore website points out that the project is is still under heavy development and not quite ready for production use and also states that it "needs some developer love" asking for devs to send pull requests for bug fixes, code optimization, and ideas for improvement.