Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Conceptual View
This section describes the object model of the design.
Layers
According to Dan Boneh Blockchain applications may be divided into four layers:
3 | User Interface |
2 | Applications |
1.5 | Compute Layer |
1 | Consensus Layer |
We will use this classifications to group Iroha components and 3rd party components that can be integrated with Iroha components.
Components
Layer | Components | Description |
User Interface | Iroha Clients + 3rd Party Clients Web/Mobile/CLI | User Facing Services |
Applications | Iroha Modules + Custom Iroha Special Instructions | Run on blockchain computer |
Compute Layer | Iroha + Iroha Modules + Iroha Special Instructions | Application logic is encoded in a program that runs on blockchain • Rules are enforced by a public program (public source code) ➔ transparency: no single trusted 3rd party • The APP program is executed by parties who create new blocks ➔ public verifiability: anyone can verify state transitions |
Consensus Layer | Iroha Sumeragi | A public data structure (ledger) that provides:
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Application Programming Interface
Functionality | Provider | Description |
---|---|---|
Submission of Iroha Special Instructions | Clients | Clients receive declaration of desired actions from users in form of Iroha Special Instructions. They build a Transaction from them, use User's cryptographics keys to Sign it (optionally?) and send them to Iroha. |
Sending of Iroha Queries | Clients | Clients receive declaration of desired search results from users in form of Iroha Queries. They build a Request from them, use User's cryptographics keys to Sign it (optionally) and send them to Iroha. |
Execution of Iroha Special Instructions | Iroha | Iroha receives Transactions from Clients and process them in cooperation with Applications and Consensus. More on that in Process View Section. |
Execution of Iroha Queris | Iroha | Iroha receives Queries from Clients and execute them. More on that in Process View Section. |
Process View
This section describes the activities of the system, captures the concurrency and synchronization aspects of the design.
Clients ↔ Peers Communications
Let's start with Iroha Peers - as described in WhitePaper, Iroha as a system is build on top of a Peer to Peer Network.
So by Peer we will assume every Iroha instance up and running.
Image Added
Expand | |||||
---|---|---|---|---|---|
| |||||
|
So basically we have two main interaction scenarios:
Submission of Iroha Special Instructions
Every User Interface will use `iroha-client` under the hood, so we will look at the sequence with it:
Image Added
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Sending Iroha Queries
Physical View
This section describes the mapping of software onto hardware and reflects its distributed aspect.
Development View
This section describes the static organization or structure of the software in its development of environment.
Scenarios
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Contributors | ||||
---|---|---|---|---|
|
Change History | ||
---|---|---|
|