Re: [Hyperledger Project TSC] Hyperledger Fabric Java SDK Proposal

Hart Montgomery






From: hyperledger-tsc-bounces@... [mailto:hyperledger-tsc-bounces@...] On Behalf Of Christopher Ferris via hyperledger-tsc
Sent: Thursday, September 29, 2016 7:03 AM
To: hyperledger-tsc@...
Subject: Re: [Hyperledger Project TSC] Hyperledger Fabric Java SDK Proposal




I've seen mostly positive comments on the proposal from DTCC and Fujitsu to incubate a fabric-sdk-java project. Since we won't be meeting until next week, and since the team is eager to begin collaboration, I suggest we take an email vote.


TSC members, please reply with +1 or -1 to this note indicating your support (or not) for incubating this proposal. I'll send a reminder but a reply today would be much appreciated.






On Mon, Sep 19, 2016 at 11:05 PM, Vishnumolakala, Pardha S. via hyperledger-tsc <hyperledger-tsc@...> wrote:



DTCC and Fujitsu Australia Software Technology (FAST) would like to present the following Java SDK proposal for Hyperledger Fabric project.


This proposal is available at the following URL(s) for community to review.


Fabric Java SDK Project Proposal


Eiichiro Fujimura

Fujitsu Australia Software Technology

14 Rodborough road, Frenchs Forest, NSW 2086,  Australia


Pardha Vishnumolakala




Create a java SDK library for the Hyperledger fabric project. This SDK will be based on the design principles of Node and Python SDKs, and is intended to increase the use of fabric by introducing capability to use Hyperledger fabric for existing/new java based applications. Since REST APIs in Hyperledger fabric are being deprecated, it is important to provide support for multiple languages if we want to see the Hyperledger fabric being used by all sorts of applications.


Initially Hyperledger fabric included Node SDK along with REST APIs so that users can interact with Hyperledger fabric. Now that REST interfaces in Hyperledger fabric are being deprecated, the application developers of non-Node applications are left with no choice but to write modules in Node that interact with Hyperledger fabric, and then integrate these modules with their applications written in languages other than Node. To overcome this problem, there is a strong need from the community to increase the number of SDKs for different languages. As a result, we saw the approval of Python SDK in TSC a couple of weeks ago.


Currently there are two ways for applications to interact with Hyperledger fabric

  • gRPC: Currently Node and Python applications can use Hyperledger fabric as these are the only two SDKs available at the moment.
  • REST APIs: provide minimum functions to interact with fabric, however these are being deprecated by Hyperledger fabric. Once they are removed, the use of these APIs will be no longer an option and users will be forced to use a programming language that has an SDK for fabric, or look at alternatives instead of using Hyperledger fabric at all.

Java is a very popular language and it is important to provide native api in order for Java application developers to use Hyperledger fabric in their projects.


We propose this to be an incubation project initially.


We are proposing a Java SDK for Hyperledger fabric to support the following functionality.

·         Application Development

·         Register and Enroll users by connecting to member services

·         Submit transactions to peer

·         Get details about blocks and transactions

·         Listen to events generated by the network

·         Chaincode Development

·         Support chaincode development using Java

·         Deploy chaincode

·         Invoke/query chaincode

·         Support Development Lifecycle

·         Integrate chaincode support code from Fabric so that java developers need only the sdk to develop

·         Stable builds available in maven repository

In addition to providing the above functionality, Java SDK will act as a bridge between user application and the fabric so that if there is a protocol change on the server side, user only needs to get the latest sdk instead of modifying their code.

Java SDK team will closely follow the SDK design specification currently being developed and discussed on slack channel #fabric-sdk-dev.

Effort and resources

DTCC and Fujitsu Australia Software Technology are committing full-time engineering resources to ensure the success of this project. We are also closely working with IBM to monitor and update any upcoming changes in the Hyperledger fabric project so that this project can keep up to date with the fabric specification. The following would be the initial set of maintainers for the project:

  • Satheesh Kathamuthu
  • Pardha Vishnumolakala
  • Muhammad Altaf


        Fabric SDK Specification


Once the project build is available on maven central repository, we can measure the success of the project in terms of downloads which can be obtained from the central maven repository.


DTCC DISCLAIMER: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify us immediately and delete the email and any attachments from your system. The recipient should check this email and any attachments for the presence of viruses.  The company accepts no liability for any damage caused by any virus transmitted by this email.

hyperledger-tsc mailing list


Join to automatically receive all group messages.