From Domain-Specific Language to Code: Smart Contracts and the Application of Design Patterns
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.
Top- Wöhrer, Maximilian
- Zdun, Uwe
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 |