2022 Q4 Hyperledger Iroha

Project Health

While the active maintainance of Iroha 1 stopped and no major releases are planned at this time, it still receives regular contributions from outside the core development team. Grzegorz Bazior is actively contributing himself, both with code and support, and organizing contributions from his students. The Iroha 2 team is doing bug triage for both projects and implements security fixes for Iroha 1.

All Iroha 2 developers are now fully onboarded and at maximum productivity. We have implemented a crude delineation of responsibilities, and implemented all processes for long-term development. We are following a timed release cadence, with a Long-term supported release planned at critical stability milestones. Iroha 2 repository is well organised, with branch protection rules enforced for all main branches (iroha2-stableiroha2-deviroha2-ltsiroha2-staging) as well as a common CI/CD pipeline with thorough testing/linting and API verification systems. Iroha 1 and Iroha 2 branches may soon switch places due to the limited maintainance of Iroha 1.

An interaction between Iroha and Ursa teams was established and updates are being implemented.

Questions/Issues for the TSC

None.

Releases

Releases past quarter:

Timed:

  • v2.0.0-pre-rc.9

Overall Activity in the Past Quarter

Iroha v1

  • Sample config update: max_rounds_delay was replaced with proposal_creation_timeout in #1662
  • Compile errors with G++11 in Iroha 1 were fixed in #1765
  • Documentation was improved in #2475 and #2494
  • Building was fixed in #2902 and #2906

Iroha v2

  • Outstanding PR count: 9, all of which are new. PRs are approximately closed in a week.
  • A new QA process is implemented. It focuses on the defect reproduction and MWE generation. 100% of the tickets are filed as bugs and are re-tested.
  • New Sumeragi consensus was implemented, tested and merged into the lts branch; it focuses on ironing out the previous p2p actor problem and it improves the performance.
  • P2P module restructuring leads to the stability improvements.
  • Ursa preliminary cleanup is in progress.
  • Kura inspector CLI is stable and working.
  • Docker and docker-compose configuration was improved
  • WASM: there’s an ongoing work regarding the compilation time, file size, security, introspection and documentation.
  • Iroha configuration parser handles the default values better, covering more edge-cases.
  • The documentation was updated to RC10
  • An initial implementation of iroha_swarm by our intern, Michael
  • A Blockchain explorer demo was implemented
  • A new JSON logging mode improves the diagnostic process.
  • A new feature for Kagami: synthetic genesis blocks
  • A syntax block generation tool was added
  • Load test generation tool was added (both statistic and representative)
  • Kagami UX:
    • Better help messages,
    • More subcommands,
    • Easier generation of keys given passphrase
  • CVE in SignatureCheckCondition fixed
  • Permission validators can be registered at run-time and user-generated with run-time upgradeability.
  • What changed regarding the Kagami UX?
  • Run-time permission validators implementation (?)
  • Sumeragi optimisation (what was changed?)
  • WASM dynamic linkage: FFI interface 95% finished.
  • Fully functional events:
    • Scoped
    • Global
    • Event-based
    • Time-based
    • By-call
    • With event processing
  • QA testing roadmap (De-containerised tests, CI Tests for SDK compatibility)
  • The Websocket connections are closed cleanly
  • Error states are reported with more information and with better feedback to the user

Maintainer Diversity

As of writing the Iroha 2 core development team consists of:

  • 8 Rust developers + 1 tech lead
  • 1 front-end developer
  • 2 full-time QA engineers (functional and load testing/benchmarking)
  • 1 full-time technical writer
  • 1 full-time DevOps
  • 1 community manager, who also handles front-end, back-end, DevOps and writing tasks as needed

Currently, the maintainer team consists of the Soramitsu employees. Gregorz Bazior (Yonix Digital Systems, AGH University of Science and Technology) is interested in Iroha 2 and maintains Iroha 1.

Contributor Diversity

A practice of working with interns was established and will continue.

Since the last time, Jonathan Plasse contributed a fix (#2670) for issue #2667, "Refactor &Option<T> to Option<&T>".

Reviewed By

Submission date

11-Nov-2022