Versions Compared

Key

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


Page Properties


Project TitleIroha 1: extend queries: GetAccountTransactions and GetAccountAssetTransaction, update client libraries, documentation, tests
Status

Status
colourBlue
titlein progress

Primary Focus

Status
colourGreen
titleCoding
  


Description 


In Hyperledger Iroha 1 has a great , while presenting a robust set of commands and queries, but some useful the absence of certain pertinent commands and queries are missing. Iroha 1 blockchain can be the core of banking systems, because it supports transactions, multiple currencies, etc. Nevertheless, advanced filtering of transactions is only partially available in Iroha 1, and it is necessary for banking systems. Currently to filter transactions, we need to return many of them and filter with our code - it is much heavier for both has been identified. As Hyperledger Iroha 1 positions itself as a foundational element for banking systems due to its support for transactions and multiple currencies, the current implementation exhibits limited advanced filtering capabilities for transactions, a crucial requirement for robust banking systems. Presently, the process of filtering transactions involves retrieving a substantial number of them and subsequently applying filters within our codebase. This approach, however, proves to be resource-intensive for both C++ Iroha's node and the Python client application.

During the As part of an ongoing internship project, queries should be extended with there is a strategic initiative to enhance the query functionality by introducing optional arguments:


what

which queries

extra information

reason

Add optional argument, description GetAccountAssetTransactionNot present in
WSV. Probably the most important param
the WSV database.

Sometimes we need to find transactions containing some text/words. It would be great if it would be possible to have multiple fragments in the query (e.g. when we want to find transactions in the bank, we use some words which we think would be there, but we are not sure what order).

Add optional argument, destinationAccountGetAccountAssetTransactionNot present in the WSV database
. Probably the most important param
.Sometimes we need to check all transactions sent to a specific account.
Add optional argument, sourceAccountGetAccountAssetTransactionNot present in the WSV database.Sometimes we need to check all transactions sent from a specific account.
Add an optional argument,
creatorAccount
 

GetAccountAssetTransaction,

GetAccountTransactions

Send Title in AddAssetQuantity

Not present in the WSV database.
This parameter is probably the easiest to implement.It is allowed to grant permission using can_transfer_my_asset. Also, the root user can transfer something from one account to another. We want to be able to list such transactions with a creatorAccount call.Add optional argument, commandName GetAccountTransactions
Introduce an optional title parameter to the AddAssetQuantity, enhancing functionality within Iroha Core for improved message communication. Ensure corresponding handling capabilities in Iroha CLI for seamless integration.
Add an optional argument, titleSend Title in SubtractAssetQuantityNot present in the WSV database.
Sometimes we need to get a history of a specific command, e.g. AddAssetQuantity, GrantPermission.

...

Introduce an optional title parameter to the SubtractAssetQuantity, enhancing functionality within Iroha Core for improved message communication. Ensure corresponding handling capabilities in Iroha CLI for seamless integration.


GetAccountAssetTransaction has a parameter account_id, which returns all transactions for the account; it is currently impossible to specify only the destination/source/tx creator account, so it needs to be fixed.

Optionally - there is a bug in Iroha 1 when we use ordering. However, this internship is connected to querying databases, so the mentee may be able to fix it.

If the mentee is unable to implement queries, they can add an An optional description to commands as an alternative: AddAssetQuantity and SubtractAssetQuantity ;can be implemented. Currently the information on why it was added or subtracted is unavailable. It can be hard to get help, though: HL Iroha 1 is not under active development.

After applying changes to queries/commands, Iroha client libraries should also be updated (probably regenerate code from the protocol buffers).
Client libraries:

...

  • the core repository
  • Iroha CLI as a command line interface

Additional Information

...

Grzegorz Bazior (AGH University of Science and Technology and Yonix Digital Systems)
email: bazior[you know what]agh.edu.pl
Telegram: @baziorek - preferred
Discord: baziorek#9186

Aleksandr Petrosyan
email:
petrosyan@soramitsu.co.jp
Telegram:
@m3lcore

...