Extend HL Iroha queries with optional arguments
Description
Hyperledger Iroha has implemented set of commands and queries. In the internship's project for few Iroha's queries (GetAccountTransactions and GetAccountAssetTransactions and optionally GetPendingTransactions) should be added optional arguments e.g.: from
and to
to return transactions in the provided time range or in provided blocks range.
Problem description
Fetching transactions in Iroha can be from first account's transaction or from provided transaction hash. On the other bound transactions are limited by max number of transactions to fetch. So when it is necessarily to fetch transactions for a month: hash of first transaction needs to be stored in blockchain and number of transactions should be "guessed" -if too big it would take longer, if too small another query would be necessarily). It also requires few queries instead of one.
Additional Information
- Hyperledger Iroha (documentation, chat, wiki, source code)
- Helper notes where queries are in Iroha code
- Completed Internship project which was adding extra command and queries in 2020: Making HL Iroha Data Model Modular for Interoperability with Other Projects
- Iroha-python library
Learning Objectives
The mentee will be able to learn:
- architecture of Iroha (1.x),
- work in true spirit of open-source, communicating with Iroha community, joining calls,
- writing documentation,
- following rules of open-source code of Hyperledger Iroha,
- creating automatic tests of code,
Expected Outcome
Implementation according to description and plan of documentation and tests. Added possibility of running modified queries from iroha-python library.
Relation to Hyperledger
Hyperledger Iroha (documentation, chat, wiki)
Internship project which was adding extra command and queries in 2020: Making HL Iroha Data Model Modular for Interoperability with Other Projects
Education Level
Preferred undergraduate.
Skills
- Reading English documentation
- C++ advanced
- depending on database software when the internship starts: ability to use SQL and PostgreSQL or ability to use RocketDB
- basic knowledge of Protobuf
- Python (optionally)
Future plans
After project completion more commands and queries to Iroha will be added.
Preferred Hours and Length of Internship
No preference (just do your job good before 15th August according to project plan and report to mentors every week progress and report progress during bi-weekly Iroha Community meeting).
Mentor Name and Contact Info
Grzegorz Bazior (Yonix Digital Systems, AGH University of Science and Technology)
email: g.bazior[you know what]yodiss.pl
gitter and Telegram and RocketChat: @baziorek
Mentee
Results
- GetAccountTransactions and GetAccountAssetTransactions for main iroha code
- Changes in Iroha-Python library
- Changes in Iroha-JavaScript library
- GetPendingTransactions for main iroha code
- Changes in Iroha-Java library