Blockchain development made easy: Getting started with Hyperledger Fabric
Hyperledger Fabric, one of the most popular blockchain frameworks, was designed to be a modular, secure and scalable foundation for offering industrial blockchain solutions. But what are its advantages and what skills does a developer need to have in order to build blockchain applications with Hyperledger Fabric? We talked to Christopher Ferris, Chair of the Hyperledger Technical Steering Committee about what’s under this project’s hood.
JAXenter: What are the advantages of using Hyperledger Fabric?
Christopher Ferris: Few open source blockchain projects have a development community as diverse and large as Hyperledger Fabric. When selecting an open source platform, it is critical to take into consideration the supporting community and ecosystem that will ensure that the platform will have long-term sustainability.
Additionally, the modularity of the platform, enabling multiplicity of consensus algorithms, privacy enforcement mechanisms, policy enforcement, and smart contract language support gives it greater flexibility for a variety of enterprise use cases.
JAXenter: How can it be used to build a blockchain application? What are the steps?
Christopher Ferris: Hyperledger Fabric provides users with a comprehensive set of tutorials in its documentation that take users through the steps of setting up a network, and writing applications and smart contracts, what Fabric calls ‘chaincode.’
There are experimental versions of Java and EVM (Ethereum Virtual Machine) chaincode capability that we hope to release with the 1.3 release this fall.
JAXenter: What is the most suitable use case for Hyperledger Fabric?
Christopher Ferris: There isn’t a most suitable use case. Fabric was designed to support a broad range of enterprise use cases ranging from FSS to supply chain to insurance to healthcare and a long list of other applications.
JAXenter: What does Fabric have that other blockchain frameworks don’t?
Christopher Ferris: Hyperledger Fabric has a unique approach to processing transactions. Most blockchain platforms implement an “order – execute” model where a transaction is initially validated and ordered into a block of transactions, and then broadcast to the other nodes in the network where the transaction is then executed by each node to update the local copy of the ledger.
This approach has a direct effect on the overall performance of the platform and the latency-to-confirmation, because in order to be confirmed, the transaction needs to be processed by > 51% of the network. Fabric implements an “execute – order – validate” model of transaction processing that a) supports a variety of consensus algorithms, and b) is more efficient than the “order – execute” because the transaction can be confirmed as soon is it has been committed to a single node, because the validation step is deterministic – either the transaction will be validated or not across the network.
JAXenter: What skills does a developer need to have in order to build blockchain applications with Hyperledger Fabric?
Application developers writing smart contracts (chaincode) can use any of these languages, and there are plans to add more. For instance, I have been approached by someone considering implementing a chaincode shim for .Net.
JAXenter: What are the tools available for Hyperleger Fabric?
Christopher Ferris: There are a number of tools that support Hyperledger Fabric. Hyperledger Explorer can be used to provide users with visibility into the ledger, to monitor various aspects of the platform. Hyperledger Composer provides application developers with a model-driven approach to developing applications for Hyperledger Fabric, including generating the smart contract code.
Hyperledger Cello can be used to help users provision Hyperledger Fabric (and other Hyperledger DLT platforms) networks on infrastructure ranging from bare metal to Kubernetes. Finally, Hyperledger Caliper is a framework for running performance benchmark of a variety of DLT platforms — Hyperledger Fabric is one of those supported platforms.
JAXenter: A new whitepaper was recently released: An introduction to Hyperledger. Who should read it?
Christopher Ferris: Everyone interested in blockchain technology for the enterprise should read the whitepaper. It provides readers with an understanding of what Hyperledger is about, why it was formed, and why we believe that it is THE place to develop blockchain technology for enterprise use.
JAXenter: What is Hyperledger’s long-term vision?
Christopher Ferris: I’ll quote a bit from the whitepaper:
Hyperledger serves as a “greenhouse” that brings together users, developers, and vendors from many different sectors and market spaces. All these participants have one thing in common: All are interested in learning about, developing, and using enterprise blockchains.
What I envisage is a vibrant, collaborative community that is trying out new ideas to solve the incredible challenges that blockchain at scale imposes, and building off of each others success to deliver world-class blockchain technology for the enterprise.