“Hyperledger Fabric is now more accessible to developers who have already started working with Ethereum & its associated tools”
Hyperledger Fabric now supports Ethereum Virtual Machine (EVM) bytecode smart contracts. This popular blockchain framework is now more accessible to developers who have already started working with Ethereum and its associated tools. We talked to Christopher Ferris, IBM Distinguished Engineer about the implications of this step, what it means for Ethereum and blockchain developers & more.
“Blockchain developers are given more choice”
JAXenter: Hyperledger Fabric now supports Ethereum. Is this something developers have asked for or did this decision have something to do with the fact that Hyperledger and Enterprise Ethereum Alliance recently joined forces?
Christopher Ferris: Our main motivation was to give developers a migration path from Ethereum to a robust permissioned platform of Hyperledger Fabric. We wanted to make the transition as easy as possible and also give developers the ability to reuse whatever they may have already developed on Ethereum. This line of work was motivated and initiated separately from the fact that Hyperledger and the EEA have recently joined forces.
However, both are motivated by the idea that Hyperledger and Ethereum communities can work together.
JAXenter: What does this step say about the partnership between Hyperledger and Ethereum? Was such a collaboration always in the cards?
Christopher Ferris: Hyperledger has always been a community looking for effective ways to collaborate with projects within and outside of the community. We made valiant attempts at bringing Ethereum projects to Hyperledger as far back as summer of 2016. Hyperledger support of Ethereum technologies can be seen through the addition of the Burrow project, a blockchain platform that supports the Ethereum Virtual Machine as its smart contract runtime, and the integrations of that capability into Hyperledger Sawtooth and Hyperledger Fabric. This feature just furthers our belief that Hyperledger and Ethereum can work together.
JAXenter: What does this mean for Hyperledger Fabric?
Christopher Ferris: Hyperledger Fabric becomes more accessible to developers who have already started working with Ethereum and its associated tools. This feature also enables those who wish to use the robust permissioned platform and consensus model of Fabric but prefer the Ethereum smart contract runtime.
JAXenter: What does this mean for Ethereum and blockchain developers? How does it make their lives easier?
Christopher Ferris: For Ethereum, it has the ability to gain developers into their community who have been seeking a robust permissioned platform with a strong community behind it. With the addition of the EVM into Fabric, developers will be invested in both communities which is an asset. Blockchain developers, in general, are given more choice. Their smart contract runtime will not necessarily dictate which blockchain network they must use opening many possibilities for them.
Though more choice is not always easier, this piece of work gives developers a simpler way to simultaneously evaluate Hyperledger Fabric and Ethereum.
With the addition of the EVM into Fabric, developers will be invested in both communities which is an asset. Blockchain developers, in general, are given more choice.
JAXenter: Are there plans to adopt other features from the Ethereum ecosystem?
Christopher Ferris: We do want to adopt other features from the Ethereum ecosystem and are looking for feedback from the community to decide where we should take this line of work next. Some areas we will immediately be focusing on are adding smart contract events and support for Remix and Truffle.
JAXenter: In addition to introducing a new smart contract runtime, there’s also a corresponding web3 provider that can be used to develop decentralized applications using web3.js. How can developers build a decentralized application with Hyperledger Fabric?
Christopher Ferris: As part of this release, we have also created a provider that we are calling Fab3, which implements a subset of the Ethereum JSON RPC API. It acts as a proxy to the Fabric network enabling developers to start building decentralized applications with Fabric in a similar fashion as they are built with Ethereum.
One aspect that will be different is that smart contract events are not supported yet, so commands and dapps using that feature will not work yet.