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

Compare with Current View Page History

« Previous Version 5 Next »

Abstract

Hyperledger Iroha 1 is blockchain implemented in C++. To interact with Irohas' nodes (perform commands and queries) there are few client libraries - iroha-pythoniroha-javascriptiroha-javairoha-ios. Despite the fact that Iroha has implemented iroha-cli in C++ there is no client library in C++. What is more iroha-cli is deprecated and not all commands are fully supported.

The internship project in short words is to refactor iroha-cli and extract from its iroha-cpp library. Using the library would require project of entire library (inspiration are rest of libraries).

Optionally the library should be compatible with C language (extern "C") to make it easy to use the library from multiple programming languages.

Mentors

Name

Time zone

Discord ID

Telegram ID

Email ID

Grzegorz BaziorCESTbaziorek#9186@baziorekbazior@agh.edu.pl
Piotr PawłowskiCEST
@pawlak00ppiotru@gmail.com

Mentee

Name

Time zone

Discord ID

Telegram ID

Email ID

Andrzej GruntowskiCEST

andrzejggru@gmail.com

Communication channel:  Discord + Telegram + Email + Github

Project repo: TBD

Deliverables

  • Approved library design and flow
  •  

Merged PR's

  • TBD
  • TBD
  • TBD

Final Project Presentation:

  • TBD

Milestones

Eval 1:

  • Configured environment to handle development library inside Hyperledger Iroha's main repository
  • Prepared final design of external library

Eval 2:

  • Completed external Iroha library in C++

Eval 3:

  • Completed well defined documentation
  • Library covered with tests

Eval 4:

  • Clean up, refactoring and debugging Iroha-Cli
  • *Create library backward compatible with C language
  • **Add support for different crypto-algorithm supported by Iroha-core with Hyperledger Ursa integration
  • Present final results

Timeline

Dates

Tasks/Plan

Status

June 1 - June 14

Getting familiar with Iroha documentation and starting example database.

Building and running Iroha from code.

Mentee intro with the mentor. Introduction to the concepts of Hyperledger Iroha 1.

Build and run Hyperledger Iroha node (Irohad) and Iroha-cli from source.

Send sample commands and queries via Iroha-cli with succeed.

Done
June 15 - June 28

Send sample command and queries via Iroha-Python and Iroha-Java library.

Reading Iroha code. Getting familiar with iroha transactions, queries and statuses.

Done

June 29 - July 12

Design interface of Iroha-cpp library.Done
July 13 - July 26Start implementing iroha-cpp library. Introduce working draft/concept of the interface. Resolving current issues.Done
July 27 - Aug 9

Refactor current implementation. Possible contact with the iroha developers on monthly meetings in order to verify current progress,

design and approach of the implementation. Create a separate directory/module for iroha-cpp client library in iroha main repository.

Independence from iroha transaction/query/status implementation. Implement own methods in order to handle auto-generated protobufs.

Done
Aug 10 - Aug 23Implement grpc client in order to send a transaction/query/status to the iroha server. Create a separate repository (iroha-cpp). Create first PR to review.Done
Aug 24 - Sept 6

Working on newly created pull request. Improvements/refactoring/testing.

https://github.com/hyperledger/iroha/pull/2660

In progress
Sept 7 - Sept 20

Sept 21 - Oct 4

Oct 5 - Oct 18

Oct 19 - Nov 1

Nov 2 - Nov 12

Methodology

TBD

  • No labels