Toward A Service Platform for Developing Smart Contracts on Blockchain in BDD and TDD Styles | IEEE Conference Publication | IEEE Xplore

Toward A Service Platform for Developing Smart Contracts on Blockchain in BDD and TDD Styles


Abstract:

In recent years, Blockchain technology has been highly valued, and the related applications have begun to be developed in large numbers. A smart contract is a software co...Show More

Abstract:

In recent years, Blockchain technology has been highly valued, and the related applications have begun to be developed in large numbers. A smart contract is a software component encompass business logics and transactions that run on a blockchain. Thus, verifying whether the contract logics fully reflect the business requirements are one of the most important software engineering issues in blockchain application development. Currently, developing smart contracts is still a challenging task even for experienced programmers due to the lacking of an integrated tool for developing and testing. In response to this challenge, this paper presents a service platform that supports BDD-style (Behavior-Driven Development) smart contract development, testing, and deployment for the Ethereum-based blockchains. This platform focuses on providing and resolving the cross-cutting concerns across the life-cycle of smart contract development. The feasibility of this platform is shown by demonstrating how an application scenario, namely, loyalty points exchange, can be implemented using the proposed platform. Our experiences indicate that the burdens of developers when developing smart contracts can be effectively reduced and thus increases the quality of contracts.
Date of Conference: 22-25 November 2017
Date Added to IEEE Xplore: 01 January 2018
ISBN Information:
Conference Location: Kanazawa, Japan

I. Introduction

The original purpose of the blockchain technology was to serve as the public distributed ledger of Bitcoin [1] transactions. Recently, blockchain receives so much attention that it gradually becomes a new paradigm for distributed computing. In particular, the concept of smart contracts [2], a piece of executable script embedded in a transaction, has been realized in many modern blockchain technologies such as Ethereum [3] and Hyperledger[4]. Hence, the blockchain technology has be seen as a universal decentralized database and a contract execution platform that is autonomous, traceable, point-to-point, decentralized, and possesses a Byzantine fault-tolerant capability. The application of blockchains also extends from the digital currency to the general applications, such as remittance payments, equity liquidation, mass fundraising, asset registration and even the Internet of Things (IoT) applications [5]. There are also various new applications of blockchain in the household, industry, health care as well as art and creative industry[6]. Currently, most of the blockchain technologies are still under active development. Besides, many software engineering issues of blockchain applications are still not well-explored. Therefore, it is generally agreed that building a blockchain-based application that possesses commercial quality is much more challenging than that of an enterprise application [7].

Contact IEEE to Subscribe

References

References is not available for this document.