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

Dan Chirtoaca, Joshua Ellul, George Azzopardi

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

8 Citations (Scopus)
353 Downloads (Pure)


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 languageEnglish
Title of host publicationIEEE
Number of pages5
ISBN (Print)978-1-7281-6978-1
Publication statusPublished - 8-Jul-2020
EventThe 2nd IEEE International Conference on Decentralized Applications and Infrastructures - Oxford, United Kingdom
Duration: 3-Aug-20206-Aug-2020


ConferenceThe 2nd IEEE International Conference on Decentralized Applications and Infrastructures
Country/TerritoryUnited Kingdom

Cite this