Integrate Solidity VM (from Hyperledger Burrow) to Hyperledger Iroha
Title | Integrate Solidity VM (from Hyperledger Burrow) to Hyperledger Iroha transaction and query pipeline |
Status | Project completed |
Difficulty | HIGH |
Description
Since Hyperledger Iroha is moving toward its final release, the team of maintainers would like to have someone to help integrate Solidity VM from Hyperledger Burrow. It order to support the vision of Iroha as a simple and straightforward platform we want to build a visual language over Solidity in the future, similarly to Lego Mindstorm EV3 or Scratch environment:
We want users to be able to create decentralized applications securely and hassle-free.
Additional Information
None
Learning Objectives
Intern would get experience in virtual machines, Hyperledger Iroha internals, C++ and other technologies.
Expected Outcome
Integrated HL Burrow VM to Iroha
Relation to Hyperledger
Hyperledger Iroha
Hyperledger Burrow
Education Level
Nothing special.
Skills
Former experience with C++. Would be nice to have Solidity and VM skills/experience.
Future plans
Build a visual programming language over the integrated virtual machine.
Preferred Hours and Length of Internship
Full- or part-time.
Mentor(s) Names and Contact Info
Andrei Lebedev, andrei@soramitsu.co.jp, Soramitsu
Mentee Name and Contact Info
Ivan Tyulyandin, ivan.tyulyandin@gmail.com, SPbU, @Ivan Tyulyandin
Project Plan
The main purpose of this internship is to create an environment for smart contracts. Hyperledger Iroha developers would like to try different smart contract engines. One of them is Ethereum Virtual Machine from Hyperledger Burrow project. Intern @Ivan Tyulyandin is working on the integration of it into Iroha.
Completed tasks:
Since Burrow is written in Golang, there is the option to compile the source code of EVM (which is part of the Burrow project) into static library and C header file. It will be possible to use the header and the library inside Iroha C++ code. At this step, all data related to EVM is stored inside the wrapper.
Next milestone is to remove the EVM data storage from the wrapper to Iroha Postgres. It will let users perform queries about EVM state from Iroha.
Next steps (keep working on them):
More integration tests (ERC-20 for example)
User guide