From Domain-Specific Language to Code: Smart Contracts and the Application of Design Patterns

From Domain-Specific Language to Code: Smart Contracts and the Application of Design Patterns

Abstract

Smart contracts are self-executing computer programs that stipulate and enforce the negotiationand execution of (legal) contracts. Today, one of the most prominent smart contract ecosystemsis Ethereum, a blockchain based distributed computing platform, that can be used to capture andexpress contract terms, for instance, in the platform’s leading programming language, Solidity.Due to the conceptual discrepancy between legal contract terms and corresponding code, it isdifficult to easily comprehend smart contracts and write them efficiently without errors. After all,blockchain-based contract execution, lacking programming abstractions, and constantlychanging platform capabilities and security aspects, make writing smart contracts a difficultundertaking. To address these problems, this article proposes smart contract design patternsand their automated application, by means of code generation and the use of a domain-specificlanguage.

Grafik Top
Authors
  • Wöhrer, Maximilian
  • Zdun, Uwe
Grafik Top
Shortfacts
Category
Journal Paper
Divisions
Software Architecture
Subjects
Software Engineering
Journal or Publication Title
IEEE Software 2020
ISSN
0740-7459
Publisher
IEEE
Page Range
pp. 37-42
Number
5
Volume
37
Date
2020
Export
Grafik Top