We’re pleased to announce that the distributed ledger project, Iroha, has been accepted into incubation status under Hyperledger. Originally developed by Hyperledger member company, Soramitsu, Iroha was inspired by the Fabric architecture and aims to provide a development environment where C++, web, and mobile application developers can contribute to the Hyperledger Project.
What is Iroha?
Iroha seeks to complement Fabric, Sawtooth Lake, and other potential projects, by creating reusable components in C++ that can be called from languages such as Go. In this way, Iroha is additive to existing projects and the long term goal is to realize a robust library of reusable components that can be selected and used freely by those running distributed ledgers on Hyperledger technology.
“Iroha allows even more developers to interact with Hyperledger to build infrastructural projects and applications requiring distributed ledger technology,” said Brian Behlendorf, Executive Director of Hyperledger. “It is encouraging to see member companies actively contributing to a diverse and sustainable open source blockchain ecosystem built on cooperation.”
The design and architecture of Iroha is greatly inspired by Fabric, in that blockchain and chaincode services form the overall architecture. Where possible, APIs were made to be similar to Fabric and, rather than competing with Fabric, the goals of Iroha are to:
- Provide an environment for C++ developers to contribute to Hyperledger
- Provide infrastructure for mobile and web application support
- Provide a framework to experiment with new APIs and consensus algorithms that could potentially be incorporated into Fabric in the future.
Currently, the Hyperledger Project lacks an infrastructure project written in C++, thus limiting the potential developers who can contribute. Also, there is not currently a strong focus on user interaction or mobile applications, though both are necessary for the realization of the widespread use of distributed ledger technology. Iroha aims to rectify both of these points, bringing in more developers while providing libraries for mobile user interface development.
Iroha is a distributed ledger project that was designed to be simple and easy to incorporate into infrastructural projects requiring distributed ledger technology. Iroha features:
- Simple construction
- Modern, domain-driven C++ design
- Emphasis on mobile application development
- New, chain-based Byzantine fault tolerant consensus algorithm, called Sumeragi
Although turing complete smart contracts are available via chaincode in Java (running a sandboxed JVM), users do not need to write chaincode in order to define digital assets in Iroha. Common use cases, such as deploying new currencies and sending text messages, are available as part of the core framework. Iroha is composed of the following:
- Iroha core
- Iroha Native iOS Library
- Iroha Native Android Library
Who will work on Iroha?
Soramitsu has committed several full time engineers to the project. Makoto Takemiya of Soramitsu is the initial project maintainer, along with six other engineers at Soramitsu. Besides Soramitsu, the co-sponsors of the proposal and other Hyperledger members are considering committing resources to work on Iroha including Toshiya Cho of Hitachi, Takahiro Inaba of NTT Data, and Mark Smargon of Colu.
Soramitsu is also doing collaborative research with The University of Tokyo, The University of Aizu, and Center for Global Communications (GLOCOM, below) of International University of Japan. From the University of Tokyo, Hideyuki Tanaka will consider economics use cases with Iroha. From The University of Aizu, Yasushi Fujii will explore business use cases with Iroha. From GLOCOM, Soichiro Takagi will consider economics and scientific research using Iroha.
“We’re pleased that Iroha has been accepted for incubation into Hyperledger,” said Makoto Takemiya at Soramitsu. “By creating C++, mobile, and web development environments for Hyperledger, new developers can join the project and help contribute not only to Iroha, but to other sub projects, such as Fabric and Sawtooth Lake.”
Learn more about Iroha
Working with community members and use case partners, we would like to continue to improve upon Iroha and have it reach and active project stage in the future. The end goal is to realize a suite of components that can be freely interoperable with other Hyperledger projects.
The following repositories on github have been created to manage Iroha resources:
You can learn more about Iroha in this whitepaper or other incubation projects under Hyperledger here. Iroha documentation can be found at http://docs.iroha.tech. For those interested in additional information, please reach out to: [email protected]