Project Health
Currently, active maintenance of Iroha 1 has stopped, and there are no plans for major releases. The release 2.0.0-pre-rc.18
is officially merged and stable as of July 31th.
All Iroha 2 developers are now fully onboarded and at maximum productivity.
The integration of Ursa essential parts to the Iroha codebase continues.
Questions/Issues for the TSC
- LFX interface caused problems for candidate vetting/selection, and internship allocations
Releases
Past quarter releases:
- v2.0.0-pre-rc.15
- v2.0.0-pre-rc.16
- v2.0.0-pre-rc.17
- v2.0.0-pre-rc.18
Iroha 1 is in maintenance mode. No releases are planned until the completion of the internship project.
Overall Activity in the Past Quarter
According to the Iroha Activity Dashboard for the third quarter of 2023 (April-June), the Iroha repo has 228 PRs submitted by 44 contributors.
Iroha v1
The project is in maintenance mode. It has a minor breakage for outdated platforms. The fix is to update the build system to ninja
from CMake
, but it is held off so as not to interfere with the internship project and the restoration of the CI for the last releases of the v1 branch, which is planned to happen in Q4 2023 or Q1 2024.
Mentorship program
Iroha v2
Overall comments
The team has been focused on providing a stable base for Soramitsu’s internal projects, mainly on improving the UI/UX, optimisations and stability improvements. In addition to that, the mentorships are progressing well.
The maintainers’ main focus was establishing reliable integration tests via pytest
and allure
to supplement the bare-bones Rust testing infrastructure.
Major developments have been made in the supporting SDKs, as well as supporting tools; namely, the block squash tool is now capable of graceful handling of the pre-rc.9
to pre-rc.18
inclusive upgrades. Field deployment of this tool allowed us to identify flaws in the deserialisation pipeline (#3330).
The capabilities of kagami
have been greatly expanded. The blockchain explorer is in progress of being updated to work with the latest Iroha thanks to Kshitij Roodkee, our mentee, who is mentored by Dmitry Balashov.
Some procedural changes; due to a pile-up of long-lived and difficult to resolve pull requests, mainly due to the complexity of the Runtime upgradeable validator and later Executor systems, every Monday, a thorough PR triage with assignment is performed. This is synchronised with the relevant updates from the two mentees working on the core repository.
The SDK compatibility has been raised as a prime concern. As such we are designing a comprehensive SDK compatibility system, with test coverage and a feature matrix. Anticipating the move to dynamic linkage, we also prepare coherence tests, which should identify double coverage of the same feature set, and supplements to support async
co-operative non-blocking concurrency through the FFI boundary.
The work on the FFI for WASM smartcontracts is temporarily halted, as Marin Veršić had been promoted to technical lead on a parallel project, involved greatly with the iroha-java
SDK.
Upcoming activities:
- ISA restructuring
- Account restructuring
- Private and Public blockchain executors
Maintainer Diversity
Currently, the Iroha 2 core development team consists of:
- 8 Rust developers + 1 PM + 1 tech lead
- 1 front-end developer
- 2 full-time QA engineers
- 2 full-time technical writers
- 1 part-time DevOps
- 1 community manager who also handles front-end, back-end, DevOps and writing tasks as needed
The maintenance team is currently comprised of SORAMITSU employees. Gregorz Bazior (Yonix Digital Systems, AGH University of Science and Technology) is interested in Iroha 2 and maintains Iroha 1.
Contributor Diversity
The practice of working with interns has been established and will continue. We’ve got some interest from a potential security-oriented intern and we’re in the process of discussing the topics to tackle.
Features
- WIP migration to runtime Executor
- Use of
nightly-2023-06-25
toolchain - Initial
nix
packaging as flake - WasmTime optimisations via caching of build artifacts
- Improved platform support for Mac M1 and linux-x86-{musl,glibc}
- 12 minor Bug fixes
- Incorrect topology rejected early
kagami
subcommand to generate localdocker-compose
files- Fix for communication deadlock
- Mentorship program