Making HL Iroha Data Model Modular for Interoperability with Other Projects
Description
Hyperledger is a big project hosting different frameworks and tools. In Iroha team we've been working for some time now on integrating other projects into Iroha and Iroha into other projects. During that process, we've received good feedback and an important question: what can Iroha give other projects? To answer that, we've decided to mentor this project, including some research of different projects to create the most interoperable API solution and practical work with C++ code.
We will try to derive a common subset of data model and executor interfaces from different HL projects in order to make the most compatible solution.
Decoupling data model (commands and queries) will allow both reuse of it in different projects and easier work in case someone decides to change something in Iroha code itself (to customise it for their own project, for example, by easily plugging a new data model piece in). Some of the features might only be needed to some users, but not everyone. For example, we have a version of Iroha with tic-tac-toe. This program will allow adding features like that quickly and without breaking the whole code.
To achieve all of those goals, during the mentorship program, the mentee will be working with our long-time maintainers and great researchers and C++ developers to separate data model.
Additional Information
Learning Objectives
We will research:
- how to make this API interoperable
- how to make it adaptable
The mentee will receive:
- experience with C++
- practice in architectural decisions
- understanding of open-source values
- experience in business-need-driven software development
Expected Outcome
Modular interface of the data model
Relation to Hyperledger
HL Iroha and its components to be shared with other projects
Education Level
It is more important to have good understanding of C++ rather than having specific education level
Skills
Great C++ because the project is a challenging one, research skills
Future plans
After this project ends, we would be able to offer other projects our solutions, thus encouraging more interoperability and future collaboration of open-source solutions
Preferred Hours and Length of Internship
Both full-time and Part-time options are ok, but please notice that in both cases the progress will be checked weekly.
Mentor(s) Names and Contact Info
Mikhail Boldyrev, Soramitsu
email: boldrev@soramitsu.co.jp
Andrei Lebedev, Soramitsu
email: andrei@soramitsu.co.jp
Hyperledger Chat ID: @lebdron
Mentee Name and Contact Info
Utsav Jain
email: utsavjn48@gmail.com
Telegram: utsavjn48