Introduction
Hyperledger is a project that consists of several frameworks and tools to implement private and permissioned blockchain. Initiated by the Linux Foundation that has a rich heritage of open source contribution, the Hyperledger project has been contributed by several giants, including IBM, Intel, Hitachi, Daimler, Samsung and Walmart – to name a few.
Fabric is a framework of the Hyperledger project that has been widely adopted by the industry to meet the demand of private blockchain. IBM boasts the lion’s share of contribution to this framework’s development so far. This framework has several advantages that make it ideal when it comes to permissioned blockchains. Fabric Samples is the greatest and smoothest work to get up and running.
Characteristics
- Private Channels: Unlike Bitcoin and Ethereum, member to member private communications and transactions are supported.
- Permissioned Network: Each entry to the network is permissioned and controlled.
- Security: Certificate Authority and Membership Service Provider ensures overall security of the blockchain’s each transaction.
- Distributed Ledger: Each peer and channel has its own copy of the ledger.
- Chaincode Variety: One may write chincode in Golang, JavaScript, Java or TypeScript – all are allowed and valid.
- Ledger Options: Options to store data either using LevelDB or CouchDB.
Installation
- Download and install Golang ( https://golang.org/dl/ )
- Install Git
- Get cURL
- Clone the hyperledger/fabric-samples from github
- Download platform-specific binaries (/bin) and config files (into /config)
- Download the Hyperledger Fabric docker images
- Get platform-specific binaries (inside /bin) by: curl -sSL https://bit.ly/2ysbOFE | bash -s
- Setting PATH environment variable by: export PATH=<path to download location>/bin:$PATH
Whirlwind Tour of Directories
Fabric-Samples get one started with testing and customizing his / her own transaction logics . It consists of several sub-directories such as:
(a) asset-transfer sub-directories contain sample transaction logics (Go, Java, JavaScript and TypeScript) to develop business logic, make private channels and work with ledgers right out-of-the-box
(b) chaincode folder holds chaincodes (similar to smart contracts) to get started
(c) test-network brings up a sample network of two organizations, each consisting of two peer nodes to implement a practical blockchain
(d) token-utxo is there if someone needs to produce ICOs or Coins in a project
(e) README.md highlights an overview of sample ready-to-use projects
Hyperledger Fabric framework is still under development. As it is open-source, anyone may contribute to enrich this framework at https://hyperledger-fabric.readthedocs.io/en/release/CONTRIBUTING.html .