In early 2016, the Auction test application was developed to help developers understand chaincode development on the Hyperledger Fabric v0.1 or later, and to support Fabric testing. The chaincode has a number of functions such as registering a user, registering an art asset, placing it on auction, or transferring its ownership.

We recently explored how easy would it be to migrate the Auction application chaincode, as is, to Fabric v1.0. A number of new features and architectural advantages are provided by Fabric V1.0. After performing an as-is migration, we recommend that the application architecture be reviewed, re-designed, redone, or enhanced as appropriate to take advantage of those features.

This document is based on intermediate versions of the v1.0 fabric release. The information provided here is based on our desire to understand the potential migration paths available to v0.6 versions of applications. While it is not a big challenge to migrate the chaincode and the node application, the migration of existing data from v0.6 to v1.0 has no clearly defined path. Our view is that data extract scripts can be developed to extract the application-specific data from the current data store and insert them into the v1.0 ledger using data migration contracts agreed to by all the participants to verify and validate the extract and load of data into v1.0. However, such an approach does not guarantee that source and target ledgers are identical.

View the migration document (PDF):
Migration of the Auction test application, issue 0.5

This document was contributed by and is maintained by:

  • Mohan Venkataraman
  • Ratnakar Asara
  • Barath Balasubramanian

1 comment on"How to migrate your Fabric v0.6-based chaincode to run on the latest Fabric v1.0"

  1. Syne Block Chain Team April 14, 2017

    Thanks for this nice article for porting from fabric 0.6 to 1.0.
    This would be a great help for us while migrating our existing application to 1.0
    This article highlights the GOLANG specific changes in order to migrate the chaincode.

    Would be great if you could illustrate basic steps for setting-up fabric 1.0 environment in docker (ubuntu 16.04) including user settings; such as, in our scenario in v0.6, we had multiple users and their roles+attributes in our applications, and we were passing user identity to APIs via “securecontext” ( Any help would be highly appreciated )

    Waiting for your reply.


Join The Discussion

Your email address will not be published. Required fields are marked *