You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Target release2.0.0
Epic
Document status
DRAFT
Document owner
Designer
Developers
QA

Goals

Hyperledger Iroha v2 aims to be an even more simple, highly performant distributed ledger platform than Iroha v1. V2 carries on the tradition of putting on emphasis on having a library of pre-defined smart contracts in the core, so that developers do not have to write their own code to perform many tasks related to digital identity and asset management.

Background and strategic fit

https://github.com/hyperledger/iroha/blob/iroha2-dev/iroha_2_whitepaper.md#11-relationship-to-hyperledger-fabric-hyperledger-sawtooth-hyperledger-besu-and-others

Assumptions

Requirements

#TitleUser StoryImportanceNotes
1Transfer AssetsAccount owner able to transfer assets to other accounts

MUST

  • Applied business scenario
2Peer to Peer Network

https://soramitsucoltd.aha.io/features/HI2-6

https://soramitsucoltd.aha.io/features/HI2-2

MUST

  • Support of distributed consensus algorithm
3Smart Contractshttps://soramitsucoltd.aha.io/features/HI2-29

MUST

  • Iroha Special Instructions used to execute smart contracts
4Storagehttps://soramitsucoltd.aha.io/features/HI2-1

MUST

  • Drive and In-Memory storage capabilities
5Permissionshttps://soramitsucoltd.aha.io/features/HI2-36

MUST

  • Already implemented in the way, required by internal projects
6Event Listenershttps://soramitsucoltd.aha.io/features/HI2-37

COULD


7Maintenance Endpoint

https://soramitsucoltd.aha.io/features/HI2-26

https://soramitsucoltd.aha.io/features/HI2-27

MUST

Maintenance Endpoint
8Transactions TTL

MUST

  • Discussed in chat, Nikita Puzankov will create an RFC based on the discussion

User interaction and design

Iroha application crate

.
├── Cargo.toml
├── config.json
├── docs
│   └── references
└── src
    ├── account.rs
    ├── asset.rs
    ├── block.rs
    ├── config.rs
    ├── crypto.rs
    ├── domain.rs
    ├── isi.rs
    ├── kura.rs
    ├── lib.rs
    ├── main.rs
    ├── merkle.rs
    ├── peer.rs
    ├── query.rs
    ├── queue.rs
    ├── sumeragi.rs
    ├── torii.rs
    ├── tx.rs
    └── wsv.rs

Network crate

.
├── Cargo.toml
└── src
    └── lib.rs

Macroses

.
├── Cargo.toml
├── iroha_derive
│   ├── Cargo.toml
│   ├── src
│   │   └── lib.rs
│   └── tests
│       ├── log.rs
│       └── serialize.rs
└── src
    └── lib.rs

Iroha clients

Iroha Rust Client

.
├── benches
│   └── torii.rs
├── Cargo.toml
├── config.json
├── src
│   ├── client.rs
│   └── lib.rs
├── target
│   └── criterion
└── tests
    ├── add_asset.rs
    ├── high_load_transfer.rs
    └── transfer_asset.rs

Non functional requirements


Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome

Not Doing

  • No labels