Ease endorsement operations for Hyperledger based products (EasyDoser)
Title | A simpler and easy way to handle endorsement policies with Hyperledger Fabric based products |
Status | Completed |
Difficulty | Medium |
Description
Introduction
Endorsement policy controls the approval of a proposal to be executed at various granular levels.
In other words, this is the primary entity which is validated before a transaction is committed.
Endorsement policy can operate at two different granularities:
Namespace level: They can be set for the whole namespace.
This is the default approach in which endorsement policies are specified in the chaincode definition,
which is agreed to by channel members and then committed to a channelIndividual key level: They can be set for individual state keys called private data collections.
You can also specify an endorsement policy at the private data collection level,
which would override the chaincode level endorsement policy for any keys in the private data collection.
This would further restrict which organizations can write to a private data collection.
Problem Statement
This becomes complex to handle when operating at scale.
Some usecases
Complex endorsement policy resolving for namespace level ones
Tracking Endorsement policies on large quantity Private data collections each having different endorsement policies
Resolving policy for a given object combining namespace level with overiding individual key-level ones.
Additional Information
Understanding endorsement policies in Hyperledger Fabric v2.x - https://hyperledger-fabric.readthedocs.io/en/release-2.0/endorsement-policies.html
Understanding chaincode - https://hyperledger-fabric.readthedocs.io/en/release-2.0/chaincode4noah.html
Learning Objectives
Understanding of hyperledger fabric concepts
Learn to manage (write/install/execute) hyperledger smart contracts (chaincode)
Good exposure to DLT technologies
Understand De-centralised transaction endorsement concepts
Gain Hands-on experience with opensource software development
Expected Outcome
A library/set of tools implementation thats able to ease endorsement policy handling
Good documentation with diagrams in github
Unit and integration tests for the implementation
Relation to Hyperledger
Hyperledger Fabric
Hyperledger Cello
Education Level
Any
Skills
Interest in distributed systems
Coding skills required to implement chaincode in golang, nodejs or java
Familiarity with bash is a plus
Knowledge on container technologies like Docker is also an advantage
Future plans
Integration with hyperledger fabric, explorer projects
Preferred Hours and Length of Internship
Part-time (20 hours a week for 24 weeks starting in summer and ending in fall)
Mentor(s) Names and Contact Info
Anoop Vijayan, anoop@tuxera.com Karthikeyan Sundaramoorthy, karthik@cloudronics.com
Mentee Name and Contact Info
Abhimanyu Shekhawat, abhimanyushekhawat17.as@gmail.com
Project Results
Github Repository:-
https://github.com/maniankara/hyperledger-easydoser
Youtube Video:-
Blog Post:-
https://medium.com/@abhimanyushekhawat17.as/easydoser-18f6ba7c910d
Presentation:-
Lightening Talk Recording