Overview
The main goal of the project is to create a documented Iroha (1.x) package for the Cactus project, which demonstrates the interoperability between Iroha and Cactus. The project also includes 3 documented examples of integration between Iroha and Cactus, and 2 documented examples of integration between Iroha and Fabric. The documentation will benefit the community so that people can understand this project.
...
Mentor | Mentor | Mentee |
---|---|---|
Peter Somogyvari PDT (UTC-7) | Grzegorz Baz CEST (UTC+2) | Han Xu EST (UTC-5) |
...
Category | Index | Current implementation and issue | Expected improvements | Difficulty level |
---|---|---|---|---|
Iroha connector plugin | 1 | Call Engine is not implemented. (made the transaction rejected within the ledger, and thus rejected in the test case. ) | Implement Call Engine command in the connectorand test it. | |
2 | setSettingValue is not implemented. (returned http 405 Error in plugin-ledger-connector-iroha.ts) | Implement SetSettingValue command in the connectorand test it. | ||
3 | removePeer is not implemented fully tested. A valid Iroha testnet needs to be constructed during the to test case to use this command. | Able to manipulate Iroha testnet (>= 3 Iroha nodes are recommended). Building on top of that, implement removePeer command in the connectorThen, construct Iroha test within the test case to test removePeer. | 4/5 | |
4 | fetchCommits is not implemented. Inside the plugin-ledger-connector-iroha.ts, but unable to test it due to its unique characteristic of streaming responses. | fetchCommits could be implemented as something similar to Besu connector's WatchBlockV1. | 3/5 | |
5 | getPendingTransaction is not fully tested. There is an issue with producing a pending transaction, the code will get stuck and fail the test suite. It seems like Iroha ledger itself is struggling to generate the pending transaction. (https://jira.hyperledger.org/browse/IR-1010) | Able to produce a pending transaction in the test case. Able to validate the pending transaction via getPendingTrasaction query. | 4/5 | |
Iroha-Javascript library | 1 | Utilized iroha-helpers-ts. It could be upgraded to match the most recent Javascript library. Its output could be further optimized to suit test cases better. | Improve the JS library. The JS library gives “undefined” as output. It would be better for us to do the testcases if it outputs tx status and tx hash. | 3/5 |
Iroha docker container | 1 | The test cases rely on a modified Iroha v1.2.0 all-in-one (AIO) docker image. Version 1.2.0 is a little bit outdated. | Iroha version should be upgraded to improve Iroha ledger's performance. | 2/5 |
2 | Embedded Iroha Python SDK inside the Iroha AIO docker image. Although the current healthcheck mechanism works fine, it makes the docker image ~100MB larger. | Once the Iroha team introduces the grpc healthcheck/ make metrics page an option in a release version (e.g., v1.2.2), implement healthcheck mechanism through grpc healthcheck or curl the metric page. `curl http://127.0.0.1:8080/metrics` | 2/5 | |
3 | Each Iroha docker container relies on a corresponding Postgres database container to store information. | Replace the Postgres database docker container with RocksDB, which needs just one folder (a docker volume) to keep data between different runs of image.) | 3/5 | |
Documentation | 1 | For docs/source/support/iroha.md, the test link is not guaranteed to be valid. | Once the current Iroha connector plugin PR gets merged/released, update the test link to be a valid link. | 1/5 |
...