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.
    1. master → main
    2. slave → replicas
    3. blacklist → denylist
    4. whitelist → allowlist
  4. 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)
    2. Kura init (versioning)
    3. 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 that Iroha 2 can provide. 

Additional Information

Reviewed By

Submission date

$action.dateFormatter.formatGivenString("dd-MMM-yyyy", $content.getCreationDate())


10 Comments

  1. 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
    1. 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. 

  2. 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.

    1. 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. 

  3. 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
    1. 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.

    • 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?

    1. 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. 

  4. 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?

    1. 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.