Versions Compared

Key

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

...

Requirements

Functional

Peer to Peer Network

...

ItemEPICImportanceRFCNotes
World State View

Status
colourGreen
titleMUST


In-memory, read fast data representation of the current World's State.
Kura

HI2-1

HI2-17

HI2-18

HI2-5

Status
colourGreen
titleMUST


Kura is a decorator on top of Disk Block Storage and provides validation and World State View synchronization functionality. 
Blocks Synchronization

HI2-2

HI2-43

Status
colourGreen
titleMUST

Block Synchronization
//TODO Egor Ivkov please add a small note about the gossip design and concerns.
Merkle Tree

Status
colourGreen
titleMUST

Merkle Tree

...

ItemEPICImportanceRFCNotes
Iroha Special Instructions mechanism

Status
colourGreen
titleMUST



Out of the box set of Iroha Special Instructions

HI2-28

HI2-29

HI2-35

Status
colourGreen
titleMUST


Several Tiers of Iroha Special Instructions provide:

  • Basic building blocks that can be used to build Custom Iroha Special Instructions
  • Maintenance-related Iroha Special Instructions (Add Peer, Change Build Block Time, etc.)
  • "Iroha Modules"-related Iroha Special Instructions (Bridge, DEX, etc.)
PermissionsHI2-36

Status
colourGreen
titleMUST

Permissions and Event ListenersPermissions in Iroha implemented based on Assets and Iroha Special Instructions.
TriggersHI2-37

Status
colourYellow
titleCould

Permissions and Event ListenersTriggers in Iroha implemented based on Assets and Iroha Special Instructions.
Domain Specific Language

Status
colourYellow
titleCould

DSL StructureCustom Iroha Special Instructions and usage of the full set of Iroha Special Instructions should be easy for developers.
Advanced Permissions Model

Status
colourYellow
titleCould

Expand Iroha Permission modelFull-fledged rights model in Iroha will greatly reduce the amount of server development for Iroha-based applications.

...

ItemEPICImportanceADR/RFCNotes
Rust Client LibraryHI2-32

Status
colourGreen
titleMUST


Iroha Client encapsulates network-related functionality and provides "local" Rust Interface for:

  • Submitting of Iroha Special Instructions to Iroha Peer
  • Querying Data from Iroha Peer
  • Maintenance Endpoint API
`no-std` client

Status
colourGreen
titleMUST

Migration from Strings
Mobile SDK

HI2-33

HI2-9

HI2-8

Status
colourGreen
titleMUST



Web SDK

HI2-34

HI2-10

Status
colourGreen
titleMUST

Web API

Non-Functional

Security

...

Iroha deployment should support GNU/Linux, MacOS macOS and Windows machines with x86 and Arm64 CPUs.

...