TitleWe will be separating data model, so we could share our tech with other projects
Status

COMPLETED

Difficulty

 HIGH

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

Iroha Source Code

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