hyperlegder-iroha.png

Hyperledger Iroha

28/November/2017
Hyperledger project has attracted the attention of many MNCs to co-develop blockchain frameworks suitable for different fields. Under the hyperledger project, 5 frameworks have been unveiled so far and Iroha is one of them. It is one of the blockchain platform implementation inspired by hyperledger fabric. It was initially developed by Japanese startup Soramitsu, Hitachi, NTT Data and Israeli startup Colu and now it is hosted by Linux Foundation. Iroha joined the hyperledger project in October 2016 and became the 3rd project under the hyperledger umbrella. On may 2017, the hyperledger Technical Steering Committee changed the state of Iroha from ‘incubation’ to ‘active’. In fact, IROHA got the Active status within seven months of joining whereas another project Fabric has to wait about one year to get the same. 

Iroha provides a development environment for C++, web, and mobile application developers, so that the developers can contribute not only to Iroha but also to the whole Hyperledger Project. It allows the developers to create reusable components in C++ and that can also be called from other languages like Go.  Iroha includes some common use cases like deploying new currencies, sending messages, etc. in its core framework. 

The consensus methodology adopted in IROHA is Sumeragi which is a new chain-based Byzantine Fault Tolerant consensus algorithm. Sumeragi is found to be one of the fast executing consensus algorithms. The robust libraries of reusable components provided by IROHA are highly useful in custom project development in it. Some of them are
  - Sumeragi consensus library
  - Ed25519 digital signature library
  - SHA-3 hashing library
  - Iroha transaction serialization library
  - P2P broadcast library
  - API server library
  - iOS library
  - Android library
  - JavaScript library
  - Blockchain explorer/data visualization suite

Still, the entire IROHA architecture is simple to understand and easy to develop in it. 
Components of IROHA
Iroha is composed of the following:
 1. Iroha core
 2. Iroha Native iOS Library
 3. Iroha JavaScript Library
 4. Iroha Native Android Library

Iroha core includes the distributed ledger infrastructure, data membership services, consensus algorithm, peer-to-peer network transmission, data validation, chaincode infrastructure etc.

Features of Iroha
 1. Simple construction
 2. Modern, domain-driven C++ design
 3. Emphasis on mobile application development
     It includes libraries for android, iOS and Javascript
 4. Creation and management of custom complex assets
 5. User account management

Step by step guide for Installation of hyperledger Iroha
To install Iroha one must have docker installed on their system. 

  1. Open terminal, get into the desired directory and run the below code.
       i. git clone https://github.com/hyperledger/iroha.git
  2. After completion, run
          sh iroha/docker/run-ametsuchi-dev.sh

  3. This will pull all the required images from respective docker repositories
If you find an error in pulling the images, then try deleting all images and containers and run the above command again
          docker rm $(docker ps -a -q)		//deletes all container
          docker rmi $(docker images -q) //deletes all images

4. To build the system, run the below-given command
          cmake -H. -Bbuild; cmake --build build -- -j4;