Skip to content

eljoujat/iroha

 
 

Repository files navigation

What is Hyperledger Iroha?

License CII Best Practices Codacy Badge CircleCI codecov

Throughput Graph

Blockchain platform Hyperledger Iroha is designed for simple creation and management of assets. This is a distributed ledger of transactions.

Iroha logo

Iroha has the following features:

  1. Creation and management of custom complex assets, such as currencies or indivisible rights, serial numbers, patents, etc.
  2. Management of user accounts
  3. Taxonomy of accounts based on domains — or sub-ledgers in the system
  4. The system of rights and verification of user permissions for the execution of transactions and queries in the system
  5. Validation of business rules for transactions and queries in the system

Among the non-functional requirements can be noted a high degree of network fault tolerance (Byzantine Fault Tolerant).

Iroha repository 101

Iroha runs as a daemon (irohad), representing a single peer in the Iroha network. For each peer, there is the following package structure, corresponding to components in the system:

  • Torii (⛩, gate) is a package that contains classes, which are in charge of interaction with users (clients)
  • Network encompasses interaction with the network of peers
  • Validation classes check business rules and validity (correct format) of transactions or queries
  • Synchronizer helps to synchronize new peers in the system or temporarily disconnected peers
  • Simulator generates a temporary snapshot of storage to validate transactions
  • Ametsuchi is the ledger block storage
  • Model classes are system entities, and converters for them

For other components and more explanations, please take a look at the technical and design docs.

Quickstart

Please, follow build process. After building Iroha daemon, try to use CLI or launch Iroha peer network.

Find out more

Technical docs Guides Contributing
Technical docs How-to Contributing

Need help?

License

Copyright 2016, 2017 Soramitsu Co., Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Iroha - A simple, decentralized ledger

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 80.9%
  • C 7.1%
  • Objective-C 6.3%
  • CMake 4.9%
  • Other 0.8%