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.
Mesher Repo: https://github.com/GrapeBaBa/mesher
Sidemesh Repo: https://github.com/GrapeBaBa/sidemesh
ChainMesh Samples Repo: https://github.com/zhigui-projects/crossmesh-samples(There is a three fabric networks cross chaincode invocation demo)
Learning Objectives
- Contributing and collaborating in an open-source project.
- Understand the chain contract interoperability in permissioned blockchain integration cases.
- Design and implement chain interoperability lifecycle protocol.
- Understand the contract state locking scheme and two-phase locking protocol.
- Writing good documentations
Expected Outcome
- Implement the on-chain contract development kit for Hyperledger fabric using JAVA.
- Implement the on-chain contract development kit for Consensys quorum or Hyperledger Besu using Sodility.
- Implement the off-chain relay plugin for Consensys quorum or Hyperledger Besu.
Relation to Hyperledger
Hyperledger fabric, Hyperledger Besu
Education Level
Skills
Future plans
Looking