/
Project Plan - Hyperledger Fabric - Hyperledger Aries Integration to support Fabric as Blockchain ledger

Project Plan - Hyperledger Fabric - Hyperledger Aries Integration to support Fabric as Blockchain ledger

  • Hyperledger fabric integration with Aries - Fabric Chaincode to support DIDComm methods and modify Aries SDK to call fabric chaincode

Mentor and Mentee

MentorMentee

Kamlesh Nagware

kamlesh.nagware@snapperfuturetech.com

Harsh Multani

harsh1multani@gmail.com

Communication channel: Email 

Project repo:  

Deliverables

  • 1  Requirement understanding & Design 
  •  Fabric chaincode to accept Aries DIDComm method call from fabric SDK.
  • 3 Invoke chaincode from Aries SDK. Modify Aries SDK to invoke  fabric chaincode 
  • 4 End-to-End testing 

Milestones

Eval 1:

  • a      Writing Chaincode (4 smart contracts in 1 chaincode)
  • b      Calling chaincode from standalone application

Eval 2:

  • c      Standalone application that calls aries/indy which then calls fabric network

Eval 3:

  • d.     Integrating application code in aries/indy which then calls fabric network

Eval 4:

  • e.    Test cases using Fabric
  • f.     Issuance and Verification demo using Fabric

Timeline

Week

Task/Plan

Status

Week

Task/Plan

Status

May 24 - May 28
  • Analyze and document the plan
Done
May 31 - June 11
  • Connect with Aries Javascript team and discuss on the initial plan
Done
June 14 - June 25
  • Write chaincode (1 smart contract for 4 transactions)
  • Code classes for 4 Transactions - Nym, Attrib, Schema, Credential Definition.
  • Write Chaincode that creates and retrieves the 4 transactions.
  • Write Client application that sets up an organization and allows it to interact with the chaincode deployed in fabric network.

Done

Done

Done


Done

June 28 - July 2
  • Standalone application that calls chaincode inside fabric network
  • Add functionalities to Update and Delete the transaction.
  • Make the payloads similar to what AFJ exchanges with Indy

Done

Done

Done

July 5 - July 9
  • Documentation of id and payload that would go inside the fabric network.

Eval 1

Done


July 12 - July 23
  • Design and Code connection to Fabric from AFJ
  • Discussion on design from where connection to Fabric should happen from AFJ
  • Initialize Connection to Fabric from AFJ

Done

Done

Done

July 26 - August 6
  • Integrate client application code with AFJ.
  • Code functionality to create / read transaction to / from fabric through AFJ.

Done

Done

August 9 - August 13
  • Test Schema transaction from AFJ to Fabric Network
  • Implement and test creation and retrieval of Schema from fabric as a Ledger

Done

Done

August 16 - August 27
  • Test Nym and Credential definition transaction from AFJ to Fabric Network.
  • Implement and Test creation and retrieval of did and cred def from fabric as a ledger

Eval 2

Done


Done


August 30 - Sept 3
  • Write Test cases that supports Fabric as a ledger
  • Write Test Cases That would test functionality of schema, cred def and did doc
Done
Sept 6 - Sept 17
  • Create a Documentation that has steps for running the demo with Fabric and Indy
Done
Sept 20 - 24



Sept 27 - Oct 1


Eval 3



Oct 4 - Oct 15



Oct 18 - Oct 29
  • Create a Demo of Issuance and Verification through AFJ and Indy as a Ledger
Done
Nov 1 - Nov 5
  • Create a Demo of Issuance and Verification through AFJ and Fabric as a Ledger
In progress
Nov 8 - Nov 12
  • Create a Presentation of the project

Eval 4

Final evaluation and presentation of project 

In Progress

Methodology

A chaincode was written that would interact with Fabric. It consists of transactions - Nym, Schema, Credential Definition.

A wrapper is written in AFJ that would interact with this chaincode and exercise the necessary transactions.