Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

MentorMentorMentee

Peter Somogyvari

PDT (UTC-7)

peter.somogyvari@accenture.com

Grzegorz Baz

CEST (UTC+2)

g.bazior@yodiss.pl

Han Xu

EST (UTC-5)

hongkexuhan@gmail.com

...

CategoryIndexCurrent implementation and issueExpected improvementsDifficulty 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 connector.


2

setSettingValue is not implemented.

(returned http 405 Error in plugin-ledger-connector-iroha.ts)

Implement SetSettingValue command in the connector.
3

removePeer is not implemented 

A valid Iroha testnet needs to be constructed during the 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 connector.

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 library1

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
3Each Iroha docker container relies on a corresponding Postgres database container to store information. The Replace the Postgres database docker container could be replaced by RocksDB ( with RocksDB, which needs just one folder - it should be (a docker volume - ) to keep data between different runs of image.)3/5
Documentation1

For docs/source/support/iroha.md, the test link is not guaranteed to be valid.

Updating the test link to be a valid link once the current Iroha PR gets merged/released.1/5

...