You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

TitleIn this project mentor and mentee will work on creating a framework that will allow creation of custom commands for Iroha – easily and still without writing any smart contracts. 
Status

ACCEPTING APPLICATIONS

Difficulty

MEDIUM  

Description 

HL Iroha has native commands to execute state changes on blockchain. New commands can be added according to network participants' needs, but currently it takes some serious knowledge of C++ and the source code of Iroha.
Custom commands framework will simplify process of new commands creation and will ease application development.
Framework is a code generator and build management type tool with user interface which should take care of boilerplate code generation and build configuration.

Plan:
0. Develop modular architecture for the framework
1. Templates for HL Iroha commands
2. Protobuf generation tool according to templates
3. Tool for C++ command interface & model generation tool
4. Tool for C++ business logic insertion into command
5. DB DML/SQL creation & integration tool
6. Permission creation tool
7. Ledger configuration tool.

Additional Information

Iroha docs

Iroha Commands docs

Advanced Iroha - this Bootcamp Session became an inspiration for the project, so with this framework there would be no need to do all that manual code work

Learning Objectives

1. First and foremost the mentee will learn how to be a positive collaborator and contributor in an active open source project.
2. Learn how to work within the Hyperledger open source ecosystem and culture.
3. Understand how to work with widely used technologies in HL and blockchain space such as C++, protobuf and others.
4. Learn how to work with code generation tools.
5. Understand architectural concepts of modular applications, commands vs smart contracts, basic blcockchain components.

Expected Outcome

1. Creation of a module for commands code generation
2. Creation of a module for API generation
3. Creation of a module for a commands permissions creation
4. Creation of a build tool extension for command creation framework
5. Creation of UI for commands creation framework
6. Errors and warnings
7. Test cases.

Relation to Hyperledger 

HL Iroha is one of the main Hyperledger ecosystem projects. Development of a custom commands framework will open new opportunities for HL Iroha adoption and will ease customisation.

Education Level

The ideal mentee is a university student, someone with one or two years of experience with a solid background in Computer Science, especially C++

Skills

The following skills are required:
Working knowledge of C++
Understanding of the code generation and UI tools.

Future plans

This framework can be extended for other HL blockchains. Also there is a plan for extending it with command engines customisation framework.

Preferred Hours and Length of Internship

This project can be done by a full-time or part-time mentee.

Mentor(s) Names and Contact Info

Yuriy Vinogradov, Soramitsu

email: vinogradov@soramitsu.co.jp
telegram: @iuriivv


Mikhail Boldyrev, Soramitsu

email: boldrev@soramitsu.co.jp





  • No labels