Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 4.42 KB

release_v1.3.0_notes.md

File metadata and controls

47 lines (35 loc) · 4.42 KB

Java SDK for Hyperledger Fabric 1.3 release notes.

The JSDK 1.3 has features added since the 1.2 based release to match those added to the Fabric 1.3 release.

Fabric v1.0 and v1.1 considerations

The SDK is mostly backward compatible with the v1.x based Fabric with the following considerations

  • The new Peer eventing service is the default for the SDK however, in v1.0 Fabric peer eventing service is not supported. To address in applications that are connecting to Fabric 1.0 you must when adding or joining a peer to a channel provide a PeerRole option. A role with PeerRole.NO_EVENT_SOURCE has been defined that has the equivalent functionality of a v1.0 peer. You can see an example of this in End2endIT.java#L732 and in End2endAndBackAgainIT.java#L597

v1.3 Fabric features

Fabric v1.3 now officially supporting Java chaincode an example of Java chaincode, deployment, and invocation was added to the Java SDK. The only difference between Java and the other supported languages is when installing it is setChaincodeLanguage is Type.JAVA and chaincode is of course is written in Java. The similarity, is shown by the sample JSDK to do the deployment and invocation of the Java chaincode is just subclassed from the GO example. End2endJavaIT SDK Java deployment The deployed Java chaincode is Java chaincode example

An API queryCollectionsConfig added to the channel to retrieve what chaincode collections a specific chaincode uses was added. An example of invoking this API was added to PrivateDataIT test.

The ability to sign proposals and transactions in an unlinkable way has been added to the Java SDK. From the application perspective there is a minimal change in API usage to achieve unlinkability. The application user as normal needs to first have a x509 certificate enrollment. The Identity Mixer (Idemix, for short) enrollment will be derived from the x509 enrollment. Next is to have a user context that has both the MSPID that is defined for Idemix and an Idemix enrollment that's created with FabricCA idemixEnroll instead of the FabricCA's enroll method that created the x509 enrollment. Example of this can be seen in the End2endIdemixIt test.

When unlinkability is desired, the user context should be changed from the x509 user to the Idemix user. An Idemix user context, however, should be limited to creating proposals to invoke chaincode. Every proposal signed with Idemix will look like it is coming from a different user. Only the Role and Organization Unit attributes will be disclosed in a serialized Identity and the rest will be hidden. For further information on unlinkability and Idemix see Identity Mixer Documentation for v1.3.

v1.3 Fabric/CA features

Idemix enrollment API idemixEnroll is used to obtain credentials needed for unlinkability. An example of its usage can be seen in End2endIdemixIt test.