Continuous Delivery of Blockchain Distributed Applications

Ensuring a production-ready state of the application under development is the imminent feature of the Continuous Delivery (CD) approach. In a blockchain network, nodes communicate and store data in a distributed manner. Each node executes the same business application but operates in a distinct exec...

Full description

Bibliographic Details
Main Author: Tomasz Górski
Format: Article
Language:English
Published: MDPI AG 2021-12-01
Series:Sensors
Subjects:
Online Access:https://www.mdpi.com/1424-8220/22/1/128
Description
Summary:Ensuring a production-ready state of the application under development is the imminent feature of the Continuous Delivery (CD) approach. In a blockchain network, nodes communicate and store data in a distributed manner. Each node executes the same business application but operates in a distinct execution environment. The literature lacks research focusing on continuous practices for blockchain and Distributed Ledger Technology (DLT). Specifically, it lacks such works with support for both design and deployment. The author has proposed a solution that takes into account the continuous delivery of a business application to diverse deployment environments in the DLT network. As a result, two continuous delivery pipelines have been implemented using the Jenkins automation server. The first pipeline prepares a business application whereas the second one generates complete node deployment packages. As a result, the framework ensures the deployment package in the actual version of the business application with the node-specific up-to-date version of deployment configuration files. The <i>Smart Contract Design Pattern</i> has been used when building a business application. The modeling aspect of blockchain network installation has required using Unified Modeling Language (UML) and the <i>UML Profile for Distributed Ledger Deployment</i>. The refined model-to-code transformation generates deployment configurations for nodes. Both the business application and deployment configurations are stored in the GitHub repositories. For the sake of verification, tests have been conducted for the electricity consumption and supply management system designed for prosumers of renewable energy.
ISSN:1424-8220