A framework for creating deployable smart contracts for non-fungible tokens on the Ethereum blockchain

被引:26
作者
Chirtoaca, Dan [1 ]
Ellul, Joshua [2 ]
Azzopardi, George [1 ]
机构
[1] Univ Groningen, Groningen, Netherlands
[2] Univ Malta, Msida, Malta
来源
2020 IEEE INTERNATIONAL CONFERENCE ON DECENTRALIZED APPLICATIONS AND INFRASTRUCTURES (DAPPS 2020) | 2020年
关键词
ERC721; Non-fungible tokens; smart contracts; Ethereum; specification language;
D O I
10.1109/DAPPS49028.2020.00012
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 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 reference implementations tackling a similar problem. In addition to this, we evaluate and analyze the effort and efficiency of the specification language 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 metrics for assessing these quality attributes in the context of Solidity smart contracts. Additionally, from the lines of code metric, We conclude that our specification language offers a simple and efficient alternative to manual smart contract suite customization.
引用
收藏
页码:100 / 105
页数:6
相关论文
共 16 条
[1]  
Ampatzoglou A., 2012, P 16 INT AC MINDTREK, P93
[2]  
Ampatzoglou A., 2018, REUSABILITY INDEX ME
[3]   A Survey of Attacks on Ethereum Smart Contracts (SoK) [J].
Atzei, Nicola ;
Bartoletti, Massimo ;
Cimoli, Tiziana .
PRINCIPLES OF SECURITY AND TRUST (POST 2017), 2017, 10204 :164-186
[4]   A hierarchical model for object-oriented design quality assessment [J].
Bansiya, J ;
Davis, CG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (01) :4-17
[5]  
Bashir I., 2017, MASTERING BLOCKCHAIN
[6]  
Buterin V., 2015, Ethereum Improvement Proposals
[7]  
Buterin V., 2014, A nextgeneration smart contract and decentralized application platform, DOI DOI 10.1145/2939672.2939785
[8]  
Entriken W., 2018, ERC-721: non-fungible token standard
[9]   Towards Analyzing the Complexity Landscape of Solidity Based Ethereum Smart Contracts [J].
Hegedus, Peter .
TECHNOLOGIES, 2019, 7 (01)
[10]  
Martin R.C, 2003, Agile Software Development: Principles, Patterns, and Practices