Abstract
Non-fungible tokens are an up and coming application domain for smart contracts. Ethereum is the first blockchain-based decentralized computing platform that has standardized this type of tokens into a well-defined interface, namely ERC721. We propose a framework that provides developers with a smart contract suite that offers complete implementations of the ERC721 standard and common extensions and features frequently encountered in ERC721-based applications. We introduce a specification language that enables efficient customization and configuration of the smart contract suite by including and excluding the supported features and extensions. We evaluate the smart contract suite for its extensibility and reusability and compare the metrics with four other reference implementations tackling a similar problem. In addition to this, we evaluate the effort and efficiency of the specification language and analyze its understandability and learnability in comparison to manual configuration of the smart contract suite. Our contribution lies in examining quality metrics for code extensibility and reusability and determining the more insightful and valuable metrics for assessing these quality attributes in the context of Solidity smart contracts. We also offer a specification language that is a simple and efficient alternative to manually customizing and configuring the smart contract suite by automatically coupling the selected contracts into a deployable final contract.
Original language | English |
---|---|
Title of host publication | IEEE |
Publisher | IEEE |
Pages | 100-105 |
Number of pages | 5 |
ISBN (Print) | 978-1-7281-6978-1 |
DOIs | |
Publication status | Published - 8-Jul-2020 |
Event | The 2nd IEEE International Conference on Decentralized Applications and Infrastructures - Oxford, United Kingdom Duration: 3-Aug-2020 → 6-Aug-2020 |
Conference
Conference | The 2nd IEEE International Conference on Decentralized Applications and Infrastructures |
---|---|
Country/Territory | United Kingdom |
City | Oxford |
Period | 03/08/2020 → 06/08/2020 |