BigchainDB Version 0.9 Released

MongoDB Support and an Updated HTTP API

Tim Daubenschütz
The BigchainDB Blog

--

Today, we’re proud to announce the release of BigchainDB version 0.9. Internally dubbed as “BigchainDB hackathon-ready,” this release includes support for running BigchainDB with MongoDB, an enhanced HTTP API and a more stable transaction model.

Let’s have a look.

What’s New

  • All interfaces communicating with BigchainDB’s database backend were abstracted into database-generic components. In addition to RethinkDB, BigchainDB version 0.9 now supports running on a fully-replicated MongoDB cluster. This marks an important first milestone towards rolling out full MongoDB support (including sharding, continuous backups, etc.) and reinforces our strategy of supporting a variety of different database backends.
  • BigchainDB’s HTTP API has always been the primary communication channel for our users’ apps. To ensure a smooth integration, we doubled down on defining and implementing its functionality. The result includes querying blocks and votes, all transactions for a given asset and listing (un)spendable outputs for a given public key. For future releases, we are committed to further improve the HTTP API.
  • We saw the need for a unidirectional real-time interface early on. Revisiting version 0.8’s HTTP API with our users helped us identify and prioritize a vital, yet missing component: a WebSocket API. For today’s release, we drafted a first specification outlining how to listen for confirmed transactions. We plan to implement this proposal in the upcoming version 0.10 release.

What Has Changed

With a 1.0 release targeted for this summer, we’ve just made our first successful steps in consolidating external-facing APIs to ship them with confidence from now on.

  • The transaction model was completely overhauled. We removed redundant information, generalized properties names and simplified the asset models introduced in version 0.8. If you’re looking to upgrade your application to the version 0.9 transaction model, click here for a blog posted devoted to just that.
  • We bumped BigchainDB’s sha3’s version to 1.0.2. Even though 1.0.2 still uses the same hashing algorithm, it requires slightly different parameters as inputs, which makes it non-backwards compatible. Effectively, for two equal objects this means that BigchainDB version 0.9’s object identifiers (e.g. for transactions and blocks) will differ from the previously released versions of BigchainDB. We recommend app builders to upgrade their sha3 implementations.

BigchainDB’s Python driver as well as our language-agnostic command line tool were updated to comply with the additions and changes made in version 0.9.

What’s to Come

We’ve officially decided to adopt a two-month release cycle. For the next release, we’re targeting early April to ship BigchainDB version 0.10. After conversations with many of our customers in recent months, the following functionality will be included in the upcoming release:

  • Documentation outlining the security and stability guarantees BigchainDB will provide in the version 1.0 release as well as system-level tests covering said guarantees.
  • A WebSockets API to retrieve confirmed transactions in real-time.
  • A way to query BigchainDB for data included in a transaction’s payload or asset data.
  • A fully-replicated log of system-administrator activity for BigchainDB’s database backend.
  • Improved support for blockchain-timestamping (or “blockchain-anchoring”).
  • Improved debugging and monitoring for app builders.

If you have questions or feedback regarding this list, you can email us at product@bigchaindb.com. We’re planning to give a more detailed update on BigchainDB’s 2017 roadmap in an upcoming blog post soon so stay tuned.

That’s it for this time. For an in-depth overview of all the changes made to the code, check out the BigchainDB Server changelog and the BigchainDB Python driver changelog. Ah, and don’t forget to:

pip install --upgrade bigchaindb bigchaindb_driver

Be sure to follow this blog to stay up to date on future releases and to get a first-hand look at additions to the system, what has changed and why. Finally, if you’re a developer using BigchainDB, we want to hear from you. Send us an email at contact@bigchaindb.com and tell us your story.

--

--