Enterprise blockchain Hyperledger Fabric has introduced support for Ethereum smart contracts. Fabric is designed to be modular with four main components. These are the main ledger, the consensus mechanism, identity management, and smart contracts called chaincode. The latest announcement provides an alternative to chaincode.
Ethereum’s large pool of developers are comfortable with its Solidity smart contract language, so the integration should make Fabric more appealing to Ethereum developers. Additionally, many coders use Web3 a Node.js set of tools to build Ethereum decentralized apps (Dapps). By integrating with the EVM, these developers can work with Fabric and even migrate smart contracts and Dapps over to Hyperledger Fabric.
From discussions with Hyperledger Fabric developers, many started on Ethereum before moving over to Fabric, so this should ease that path.
Because of Ethereum’s vast pool of developers, there are far more developer tools like IDEs which make it easier to write code with textual auto-complete and built-in tools. These toolsets will now be available for the Fabric developers that choose to use the EVM.
Some may be familiar with a separate Hyperledger project called Burrow which allows the Ethereum EVM smart contracts to work on a permissioned virtual machine. This latest announcement is the completion of Burrow’s integration with Fabric which was enabled with the release of Hyperledger Fabric 1.3 a couple of weeks ago.
Ethereum has the concept of gas which uses Ethereum tokens. To prevent developers from writing inefficient smart contracts that waste computer processing time, on Ethereum, when a contract is run it requires an advance payment of gas using Ether. With Hyperledger Fabric there’s no Ether, so instead, contracts have a default high level of gas. Hence most contracts should run without a problem. The development team is looking at making this configurable later.
Hyperledger published a blog post that goes into more detail.
The Hyperledger Global Forum takes place December 12-15 in Basel Switzerland.