...
Page Properties | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Description
The block squash and migration tool is expected to be used by many of the long-term users of an Iroha-based blockchain. It will allow the users to combine and process the Kura blocks Iroha uses.
In addition to implementing it, the intern will learn about the challenges of maintaining an API and an ABI across multiple versions of a single high-performance ledger.
Additional Information
Kura: the part of Iroha 2 that stores the blocks.
Learning Objectives
The mentee shall:
- Learn Rust to the extent necessary to interact with the Iroha data model freely.
- Learn to uphold invariants that are not imposed in the library properly and learn how to correct corrupted data.
- Gain experience in ABI/API design.
- Learn the challenges associated with redundant distributed storage systems such as blockchains.
Expected Outcome
A more user-friendly interface to a more feature-complete Iroha block squash tool.
Relation to Hyperledger
This project will become a part of the tools accompanying Hyperledger Iroha.
Mentee Skills
Understanding of:
- Rust type and trait system.
- Trait objects.
- Enums
- Understanding of contract-based programming.
- API / ABI stability.
Useful, but not required:
- Knowledge of
serde
& Rust - Understanding of Fintech mathematical operations and precision or scientific computation.
- Knowledge of WASM.
- Knowledge or willingness to learn Rust GUI tools like Relm4 or Slint.
Future plans
This After implementation, this GUI will become an actively supported part of the Iroha 2 project after implementation.
Mentor(s) Names and Contact Info
- Dmitry Balashov: dbalashov@soramitsu.co.jp, @quacumque
- Aleksandr Petrosyan: petrosyan@soramitsu.co.jp, @m3lcore