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 1 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.
...
Communication channel: Telegram/ RocketChat/ Public Channels/ Emails/ Microsoft Teams
Project reporepository:
https://github.com/hyperledger/cactus (main)
https://github.com/hyperledger/iroha
Project pull requests:
https://github.com/hyperledger/cactus/pull/1183
https://github.com/hyperledger/cactus/pull/1169
Practical presentation of completed project (not the same presentation as on project site) - how to use result of the internship:
View file |
---|
name | Iroha Meeting Presentation HanXu - 2021_v2.pdf |
---|
height | 250 |
---|
|
Project Plan
Schedule | | Deliverable |
---|
Week 1 - Week 3 Jun 1 - Jun 18 Jun 18: 1st Quarter Evaluation | - Install Ubuntu 20.04 LTS and set up environment.
- Build Cactus.
- Build Iroha.
- Understand existing source code.
- Start the Iroha and Cactus integration.
| - Project Plan.
- Skeleton for Iroha and Cactus integration.
|
Week 3 - Week 6 Jun 19 - July 9 July 9: Midterm Quarter Evaluation | - Implement the Iroha and Cactus integration.
- Write tests for the Iroha and Cactus integration.
- Write documentation.
| - ~50% of the Iroha and Cactus integration package.
- Technical documentation for the package.
|
Week 6 - Week 10 July 10 - July 30 July 30: 3rd Quarter Evaluation | - Write tests for Iroha and Cactus integration.
- Write documentation.
| - Completed package for Iroha and Cactus integration.
|
Week 10 July 31 - Aug 10 Aug 20-31: Final Evaluation | - Wrap up documentation.
- Final report of the project.
- Final presentation of the project
| - Code for unit tests and integration tests. *
- Technical documentation for the entire project.
- Final report.
- Final presentation.
- 1 examples example of Iroha and Cactus integration. (Nice-to-have)
- 2 examples of Iroha and Cactus integration. (Optional)
- 2 examples of Iroha and Fabric integration. (Optional)
|
...
Week | Task | Weekly Slide |
---|
1 (Jun 1 - Jun 6) | - Attend onboard meeting
- Attend 6/4 Iroha community meeting
- Read the project wiki page
| |
2 (Jun 7 - Jun 13) | - Install Ubuntu 20.04 LTS
- Set up environment
- Build Cactus
- Build Iroha
- Project Plan
| |
3 (Jun 14 - Jun 20) | - Skeleton code for Iroha and Cactus Integration
- Learn Typescript via Udemy course
| |
4 (Jun 21- Jun 27) | - Finished the Typescript Udemy course
- Stripped out files and functions for Iroha plugin
- Worked on current Tx test
- Tried to compile the package
| |
5 (Jun 28- July 4) | - Made sure the project compiles
- Used dockerode to run Iroha+Postgres docker image properly
- Modified based on v1.2.0 Iroha Docker image; posted on DockerHub
- Tried to run Iroha’s JS library
| |
6 (July 5 - July 11) | - Inquired Iroha community about Iroha docker health check + Iroha JS library response
- Switched to Iroha’s TS library, got output from all commands/queries
- Rewrote Cactus’s connector to manipulate Iroha’s TS library (able to pass commands and queries and get back response)
- Tried almost all Iroha’s commands+queries. (a shared Google Sheet is used to track the progress)
- Redesigned test cases, pushed to Github.
| |
7 (July 12 - July 18) | - Switched from connector to apiClient to run transactions for everything
- Progress: Commands -> 14/20; Queries -> 12/15; in total: 26/35 (~74%)
- Made code cleaner (used enum for Iroha commands/queries)
| |
8 (July 19 - July 25) | - Implementation progress: Iroha commands -> 19/20; Iroha queries -> 14/15; in total: 33/35 (~94%)
- Working on rebasing
- Took a look at the Iroha Testnet
| W8 Slide.pdf |
9 (July 26 - Aug 1) | - Finished rebasing
- Drafted pull request with Peter; fixed most feedback from Peter (11/12)
- Finished my own Dockerfile; shrinked the size to 120MB; 85% improvement (thanks to help from Iroha community and Greg)
- Delivered presentation to the Iroha community this morning
- Explored the issue behind grpc error “GOAWAY unavailable” (get pending transaction)
| |
10 (Aug 2 - Aug 8) | - Responded to all feedback from Peter for my 2nd PR
- Look into the pending transaction issue
| |
11 (Aug 9 - Aug 15) | - Finished rebasing
- Drafted pull request with Peter; fixed most feedback from Peter (11/12)
- Finished my own Dockerfile; shrinked the size to 120MB; 85% improvement (thanks to help from Iroha community and Greg)
- Delivered presentation to the Iroha community this morning
- Explored the issue behind grpc error “GOAWAY unavailable” (get pending transaction)
- Iroha-Iroha transfer example (including passing randomly generated admin/node key pairs)
- Finished the irohaBaseConfig interface for the request
- Tweaked Iroha docker healthcheck via Python SDK
- Tried best to remove magical strings (e.g., changing the strings to enum; randomly generate admin/node key pairs; uuidv4())
- Responded to most of the feedback
| |
12 (Aug 16 - Aug 20) | - Fixed the crash issue with Iroha-Iroha transfer example (will not crash if pass in no
parameter) - Updated comments and documentation (e.g., readme.md)
- Removed magical strings for all files; responded to all PR feedback
- Completed the “Recommendations for future work” list
- Added tls:boolean option inside the baseConfig interface (tls is not implemented)
| |
...