Sergey Nivens - Fotolia

What are the best SDK tools for automating blockchain services?

As blockchain matures, an ecosystem of tools continues to sprout up around it. Learn how these offerings, including the Hyperledger Fabric Client SDK, can help with a deployment.

Before you look at specific tools for automating blockchain services, you need to understand blockchain. Blockchain is a technology that allows for the digitization of transaction workflow. In doing this, the technology solves the pitfalls of transaction governance by leveraging the shared ledger system. Blockchain runs over a network, where its members track and exchange assets. A record of all their exchanges is replicated to all members of this network. The applications themselves, which are deployed to a blockchain, consist of a self-executing contract and a client-side application, interfacing with this network through either a SDK or API.

The information held on this blockchain network is shared and reconciled constantly through a shared distributed database of sorts. This database does not reside in any single location, so the records that it keeps are public and easily verifiable. The data itself is accessible to anyone on the internet. Because, in many ways, it is structured like the internet, it cannot be controlled by any single party, and from an availability standpoint, it has no single point of failure. The network itself is a peer-to-peer network of validating nodes, where each of the nodes maintains a ledger of the system and a history of the updates.

Most companies do not build their own infrastructure for blockchain services but rather utilize cloud services. This approach is known as blockchain as a service (BaaS). Both IBM and Microsoft are taking a leading role here, offering cloud platforms for development and enterprise scale based on open technologies and frameworks. Their portfolios include blockchain services plus integration into their other cloud services. Microsoft Azure created BaaS, which allows developers to build a blockchain network. The main purpose of BaaS is to enable the back-end capabilities needed by blockchain services, where you can launch the blockchain quickly rather than setting up your own on Azure.

IBM Blockchain is an integrated platform that provides for the development and governance of a blockchain network. You can either use IBM Cloud or develop locally using the IBM-certified Hyperledger Fabric images on GitHub or Docker Hub.

Helpful blockchain SDKs and other tools

The Hyperledger Fabric Client software development kit (SDK) provides a way to use a library of APIs, enabling the integration between your applications and the network. Applications that leverage this SDK can be used to register and enroll members, query the ledger for specific transactions, monitor transaction events and join other peers to a channel. The programming languages that can be used with the SDK are Node.js or Java.

Let's take a look at products and systems that work with blockchain services and that can provide the automation you are looking for.

GDAX is a product that allows you to buy and sell cryptocurrency. Many tools provide automation around GDAX. For example:

  • The GDAX Java SDK allows you to automatically trade bitcoin and record GDAX market data.
  • The GDAX Django Python SDK is nothing more than a simple Django client that takes data from the GDAX API.

In addition, these tools can help you in your blockchain automation efforts:

  • Tierion offers developer tools and APIs to add data to a distributed ledger. Tierion has developed an open standard called Chainpoint, which records data and generates receipts that contain all the information needed to verify your data. It is a Node.js-based SDK that uses blockchain to securely collect and store data.
  • The Keyless Signature Infrastructure Java SDK is a platform that cryptographically ensures data integrity and allows for keyless signatures. This provides an entire SDK for developers that want to integrate keyless signatures with their Java applications and systems.

Like any other technology, I would recommend you understand what is going on behind the scenes first before looking for ways to automate. There is a lot to know about blockchain; it is an exciting technology that is evolving almost every day.

Dig Deeper on Cloud app development and management