Versions Compared

Key

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

Abstract

Based on Iurii Vinogradovrequirements:

1. We want ability to have turing complete functions with own protected storage.
2. We want that we can control interfaces to access to this functions. Now looks like it is possible to call internal functions of the complex ISI/
3. There are not enough abilities for ISI to work with storage(parse, verify data...)
5. JS client library.
6. We want an easy understandable framework to send arguments from one ISI to another.
Now there is a proposal about sharing arguments through Assets, but it has many questions. how ISI will know from which asset to get data? How ISI will know how to parse it? How to validate?.... So, dedicated solution might be more clear that try to use assets for everything.
7. We need math in ISI for DEX logic if we want to implement it thorough complex ISI>
8. We want Cycles in ISI.

Discussion

Turing Complete Functions

As described in the whitepaper Iroha Special Instructions in combination with "listeners" will provide Turing Completeness for Iroha.

If there are additional details or user stories - they should be provided.

Protected Storage

Iroha has `Kura` as a wrapper on top of `BlockStorage` with an ability to store encrypted data. 

If there are additional details or user stories - they should be provided.

Data Related Iroha Special Instructions

As we understand the requirement, Iroha should be able to make verification of asset's based on some form of schema and following questions should be answered:

  • what  data and schema formats should we support?
  • do we need to have native support of these formats?
  • what "etc." part consist of?

Javascript Client Library

As planned we will port `iroha-client` to the `no-std` environment having an ability to compile it into `WebAssembly` module and use directly from Javascript.

Iroha Special Instruction Arguments Passing Framework

In more details described in a separate PR, TL;DR - we may store results of previous Iroha Special Instructions as Assets and retrieve them from later Iroha Special Instructions via execution of Iroha Queries.

Mathematical Iroha Special Instructions

The full list of operations we need to support Out-of-the-Box should be defined.

Cycles Iroha Special Instructions

We may provide Iroha Special Instructions for finite cycles Our-of-the-Box.

For example `For(n_times, instruction_to_execute)` and it will be just a "sugar" on top of `Sequence` instruction.

Table of Contents
absoluteUrltrue