Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor mistakes fixed

...

Background

We should declare the initial set of outOOB (Out-ofOf-the-box Box) Iroha Special Instructions for Iroha 2.0.0 release.

...

...

Iroha whitepaper, current implementation and users' expectations are differ different in terms of out-of-the-box Iroha Special Instructions set.

...

Split out-of-the-box instructions into the following categories:

  • Domain related
    • Register/Unregister<Id, Identifiable>
    • Mint/Burn<Id, Value>
    • Transfer<Id, Value, Id>
  • Math
    • Add/Substract<Value, Value>
    • Multiply/Divide<Value, Value>
    • RaiseTo<Value, Value>
    • Mod<Value, Value>
    • Equate<Value, Value>
  • Compositions
    • Sequence<Vec<Instruction>>
    • Pair<Instruction, Instruction>
    • If<Instruction, Instruction, Instruction>
    • Not<Instruction>
  • Queries
    • Execute<Query>

Provide a set of possible domain-related instructions:

  • Register/Unregister
    • Register or unregister Domain in Peer
    • Register or unregister Account in Domain
    • Register or unregister Asset Definition in Domain
    • Register or unregister Peer Id in Peer 
    • Register or unregister Signatory in Account
  • Mint
    • Mint or burn value to or from an Asset 

...

  • Do not have categories and generic instructions using a plain set of instructions like "AddDomain, RegisterAccount" - as cons we can point out naming and extensibility problems
  • Do not have granularity and differences between register, mint, add - as cons we can point out different business-related meanings for similar actions and to a wide set of options in one bucket

Concerns 

  • Too A too big or too small set of out-of-the-box instructions can be hard to maintain or not sufficient for users needs
  • Iroha 1 users can struggle from the new naming

Assumptions - document any assumption that you made

  • We did not made make a final decision about "Iroha Modules" related instructions (DEX, Bridge, Permissions, etc.) and their inclusion into out-of-the-box set yet

...

  • Set will be incomplete from the users' perspective `[5;2]`
  • We missed some categories `[2;7]`

...