ChainKode: a CICD methodology for chaincode development in Hyperledger Fabric based on Kubernetes
Description
Hyperledger Fabric is a widely used blockchain technology that allows organizations to store and exchange data through permissioned networks. A chaincode extends its functionality by enabling participants to interact with the stored data via multiple programming languages. Consequently, a chaincode can be regarded as an external service to the Hyperledger Fabric network which can be deployed by container orchestration tools such as Kubernetes. This induces a distinctive Software Development Life Cycle (SDLC) for chaincodes along with the necessity for a sustainable framework to support it. To this end, we propose a methodology based on CICD practices that not only facilitates the development of chaincodes in Golang but also ensures that their functional and non-functional requirements are satisfied. In particular, we deliver an automated process that establishes adequate code quality, verifies the integrity of implementation, validates security vulnerabilities, evaluates performance and finally deploys the chaincode to a Hyperledger Fabric blockchain. We provide a performance analysis of our approach based on the conducted experiments and a discussion on its qualitative attributes. Additionally, we present a comprehensive ecosystem for Hyperledger Fabric with Kubernetes which includes monitoring and benchmarking tools. In essence, we strengthen the SDLC of chaincodes and facilitate the adoption of Hyperledger Fabric in cross-organizational use cases.
Files
ChainKode_manuscript.pdf
Files
(4.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:e5ad01a164ce1546d4883eea6255eda0
|
4.3 MB | Preview Download |