2022 Q2 Hyperledger Iroha

Created by Sara Garifullina, last modified by Jim Zhang on Aug 25, 2022

Project Health

Generally, the situation is the following: Iroha 1 is being maintained and improved in terms of performance – the new transport system is being developed. Iroha 2 is rapidly growing – the team welcomed several new developers and numerous features; releases are presented every month.  Grzegorz Bazior is leading this year’s Mentorship effort. Community is not very active but the team is open and answers the questions when those occur.

Iroha 2 team has acquired 4 more Rust developers to speed up the planned workload and cover more “functional ground”. Also, as part of a wider organisational change, Iroha 2 team will fall within HL Iroha 2.0 Tribe which consists of multiple related projects. As a result, to improve the internal communication, we are planning to start running monthly technical demonstration sessions on new delivered features. In the near future, we are aiming to open the demo session to a wider audience and make it publicly available to the wider Hyperledger community. In addition, Iroha 2 has started with a new front-and initiative (blockchain Explored). Currently, UI/designs are ready and the development is well underway. 

Required Information

  1. Have you switched from master to main in all your repos ? Yes
  2. Have you implemented the Common Repository Structure in all your repos ? Yes
  3. Has your project implemented these inclusive language changes listed below to your repo? You can optionally use the DCI Lint tool to make this a recurring action on your repo.
  4. master → main
  5. slave → replicas
  6. blacklist → denylist
  7. whitelist → allowlist
  8. Have you added an Inclusive Language Statement to your project’s documentation and/or Wiki pages? Not yet

Questions/Issues for the TSC

Releases (Iroha 1x)

https://github.com/hyperledger/iroha/releases/tag/1.4.0

https://github.com/hyperledger/iroha/releases/tag/1.5.0

Releases (Iroha 2x)

https://github.com/hyperledger/iroha/releases/tag/v2.0.0-pre-rc.2

https://github.com/hyperledger/iroha/releases/tag/v2.0.0-pre-rc.3

Overall Activity in the Past Quarter

We moved to Discord with the whole Hyperledger Community and adapted the chat bot – now it connects Discord, Telegram and Gitter and runs more easily maintainable code, so everyone should be able to stay in contact just the way it is convenient to them.

Iroha v1

Some of the most important technical results for Iroha 1 team in the last quarter were:

  • the module for MST was rebuilt for more efficiency
  • Grzegorz Bazior and his team helped greatly with updating Python library that is now working perfectly with Iroha 1 newest versions
  •  Work is on the way on rework of the transport
  • Burrow now works with RocksDB
  • Other optimisations

Iroha v2 (main completed features for the last quarter):

  • Introduced better and improved non-mintable assets
  • Introduced new standard for TPS benchmarks
  • Account restructuring
  • Roles are no longer optional. More features to be axed 
  • SDK - Trigger support
  • RawGenesisBlock builder 
  • Real-world performance testing (stable ~40TPS) 

Current Plans

It is important to keep in touch with the community using all the channels possible: Iroha 2 is being very actively developed with many new team members.

Iroha 1 is also not only maintained – the next release should include changes that will drastically improve the performance via rework of the transport – it should be completed for Iroha v1.6.

Iroha v2 (in the progress):

  • Improved common filtering API
  • Debug 3 high severity actor-related bugs:
    1. Slow processing (~50TPS)
  1. Kura init (versioning)
  2. Register/unregister peer
  • Distributed testing in CI
  • Ongoing work on WASM dynamic linkage
  • Docker friendly CLI 

Long term deliverables for Iroha 2

  1. Hijiri (local reputation system)
  2. Offline transactions (Hardware is ready and waiting to be programmed)
  3. Parachain compatibility 
  4. Iroha Python Library should be improved 
  5. Transaction fees are to be introduced. 

Maintainer Diversity

Iroha 2 has considerably grown in size and diversity of resources. Currently, Iroha 2 team consist of 1 front-end developer (mainly engaged in the blockchain explorer initiative), a technical writer, fully committed QA and currently, the core team consists of 8 Rust developers. 

Contributor Diversity

Grzegorz Bazior ‘s team still greatly contributes to the project, Soramitsu’s team is growing as well. We hope to find more contributors interested in features th”at Iroha 2 can provide. 

Additional Information

Reviewed By

Submission date

10-May-2022

Comments:

Sara Garifullina A couple of questions to clarify:

  1. Is Iroha v2 a full rewrite in Rust instead of C++?
  2. Are the transaction fees going to be optional? The ones that are to be introduced in V2 - from the list of long term deliverables
Posted by Peter Somogyvari at May 10, 2022 22:26

Sara Garifullina – I like the idea of running monthly technical demonstration sessions.  We'd be happy to work with you to help you promote those so lots of people can learn about how to use and contribute to Iroha.  We've seen a lot of interest in technical demos and workshops recently and I think we can get a good audience for these.  For instance, a recent technical workshop for FireFly that we ran as a virtual meetup had over 670 people sign up for it.  Happy to talk with you more about how we can help promote what's happening with Iroha.

Posted by davidwboswell at May 11, 2022 14:46

I did not see an answer to this question:

3. Has your project implemented these inclusive language changes listed below to your repo? You can optionally   use the DCI Lint tool   to make this a recurring action on your repo.
master → main
slave → replicas
blacklist → denylist
whitelist → allowlist
Posted by tkuhrt at May 11, 2022 15:22
  • Burrow now works with RocksDB

Can you elaborate on how Iroha uses Burrow?  Are these rocks db changes in burrow itself or the iroha code wrapping burrow?

Posted by shemnon at May 11, 2022 18:22

In the Maintainer and Contributor diversity section, It is not clear who Grzegorz's or  Soramitsu's teams are. Are these teams tied to two different organizations? Do they focus on different releases or different functional areas?

Posted by denyeart at May 19, 2022 13:58

Hi! Sorry it took me some time to get here. As I said in Discord, it is not exactly the same rewrite. The team just decided that it will be more beneficial to use Rust to work on the newer features that they see important. On the fees –  yes, they are optional. 

Posted by SaraG at Jun 17, 2022 12:36

Right now Iroha team is working on some blog posts and are thinking about Demo. After all the necessary features and materials are ready, they will definitely contact you about this – now the team has enough people to join many activities and represent Iroha more. 

Posted by SaraG at Jun 17, 2022 12:39

Sorry, I believe we missed this – yes, we never had any lists or replicas to my knowledge but the names of branches were changed some time ago.

Posted by SaraG at Jun 17, 2022 12:40

So, there was a Burrow integration with Iroha ( https://iroha.readthedocs.io/en/develop/integrations/index.html#hyperledger-burrow ) but it did not work before with Iroha running with RocksDB, only with Postgres version. It is more about Iroha itself I guess. 

Posted by SaraG at Jun 17, 2022 12:42

Grzegorz is from a separate company, and is a maintainer independent from Soramitsu. He helps out with Python library for Iroha 1, for example, and helps with Mentorship projects, working together with Iroha 1 developer. We use "teams" to separate Iroha 1 and Iroha 2 teams – as these versions are rather different, their work is in a way separate. 

Posted by SaraG at Jun 17, 2022 12:45