Smart contracts – new, exciting, but potentially difficult for those without programming experience. Even for those with experience, smart contract development has certain caveats and gotchas that aren’t always obvious. To facilitate smart contract creation I propose ASCO – a prototype of a system for visual smart contract creation.
ASCO’s web app allows you to build a smart contract from visual elements that connect together. The prototype includes some elements to create simple starter contracts, like, for example, a “balance” element that automatically stores token balances associated with addresses on a Solidity-powered smart contract platform. Connections between elements are made based on their properties – attributes accept a value (either input manually or taken from another element), and “exports” are provided by the element for use in attributes of other elements. Elements may also be connected with trigger connections – for example, outgoing events may be triggered by other inbound events.
The prepared schematics (such as the one above) are then processed into smart contract code – the process is designed to be extensible, so as to support multiple platforms. Currently, the prototype supports exporting schematics to Solidity for the Ethereum smart contract platform.
In the future, support is planned for more smart contract elements and wider platform support, as well as other features like predefined templates.
ASCO is my thesis project. Scientific publications covering ASCO are pending review.