Smart Contract Families in Solidity
Abstract
Smart contract families are similar smart contract applications that are built from a shared set of assets. In this work, we show how to express smart contract families in Solidity using existing tooling. Solidity is a popular language for smart contracts on the Ethereum blockchain, which is also in use on other Ethereum Virtual Machine (EVM) compatible blockchains and layer two solutions. We are motivated to explore this because EVM-compatible chains are becoming popular but they are also making subtle changes to opcode semantics. Users can reuse Solidity smart contracts from one EVM-compatible chain to another, but may find that those contracts do not have the same behaviour. Our approach provides a method for engineering for multiple chains simultaneously, but also allows functionality to be added or ignored based on desired features. This work allows developers to quickly build software product families which can be optimized for specific target blockchains and simplify smart contract audits.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.