Project TitleImplement cross chain contract invocation using 'ServiceMesh' way
Status

Difficulty

   Select a difficulty level and delete the others (e.g. code development would be considered less challenging than research-focused)


Description 

Since permissioned blockchain has been adopted widely in various industries, the need to integrate different permissioned blockchains rises up recently. The two core problems of this case are chain contract interoperability and transaction atomic. 

Many frameworks and solutions proposed currently are a bit complex. We introduced a lightweight protocol and reference implementation inspired by the ‘ServiceMesh’ pattern in the microservice integration area. Combine with a stateless off-chain relay and an extended on-chain contract development kit as a ‘SideCar’ for different permissioned blockchains. 

Contract developers can focus on writing business logic since the on-chain contract development kit uses an AOP(aspect-oriented programming) approach to delegate the contract interoperability. In addition it also provides a lock API for locking contract state which can be used in two-phase commit cases. The off-chain relay uses an event based architecture to coordinate different permissioned blockchains.

Additional Information

Current we already defined a set of chain interoperability lifecycle events and we already have a reference implementation for Hyperledger fabric on-chain contract development kit using Go and off-chain relay which support a Hyperledger fabric plugin. We also have a sample program which demonstrates chain contract interoperability and two-phase commit case through three Hyperledger fabric networks.

The initial design doc at .

Mesher Repo: https://github.com/GrapeBaBa/mesher

Sidemesh Repo: https://github.com/GrapeBaBa/sidemesh

ChainMesh Samples Repo: https://github.com/GrapeBaBa/crossmesh-samples(There is a three fabric networks cross chaincode invocation demo)

Learning Objectives

Expected Outcome

Relation to Hyperledger 

Hyperledger fabric, Hyperledger Besu

Education Level

Undergraduate or graduated student with developing experience preferred.

Skills

Future plans

Looking forward to contribute this project to Hyperledger community

Preferred Hours and Length of Internship

Full-time (40 hours a week for 12 weeks during the summer)

Mentor(s) Names and Contact Info

Mentee

Shritesh Jamulkar, National Institute of Technology Raipur

Project Results

Final Report

Project Presentation Session Recording


https://youtu.be/6NnrDSr651A