## 2 Related Work
### Automatic Code Generation of SC  
One possible means to enable people from multiple domains, not merely IT, to co-create SCs is to adopt existing modeling languages, express business requirements as specific models, and translate the models into SC code through rule mapping. [PERSON] et al. [11] present an approach to creating model-driven blockchain SCs. Their proposed approach consists of building a metamodel of SCs and an algorithm to automatically generate SCs using this model. They obtained a metamodel for SCs using an extended subset of BPMN 2.0 level 3. Compared with our work, the main limitation is that they do not express the interaction relationship in the business, and the verification logic of script tasks and user tasks still needs to be completed manually. [PERSON] et al. [12] define a common representation of complex natural language contracts for people from diverse backgrounds, uniformly translating human-readable sentences and disambiguating language. They propose a contract model called the Intelligible Description Language Contract (IDLC), which makes the SC readable by computers and understandable by humans, eliminating the ambiguity of SCs. Similar to us, they mention the need to coordinate interactions between independent entities in contracts, which is reflected in our work. Differing from our work, their focus is on the construction of the model, i.e., to establish a unified contract model so that the participants can reach a consensus, but the code generation based on the model is lacking. Many researchers are also studying the use of domain-specific language methods to describe business requirements and transform domain-specific language into SCs. [PERSON] et al. [13] designed a domain-specific language called the Contract Modeling Language (CML) to describe the components of SCs and generate SCs according to the CML. The CML is close to natural language, with syntax that incorporates coding abstractions, as well as the automatic integration of design patterns that are common in the code generation process. This language makes the representation of SCs more understandable both conceptually and syntactically. Compared to our work, this method may not be intuitive for the expression of business requirements, and it has certain requirements for the person who writes the CML code, making it less appealing to those who are not familiar with CML syntax. [PERSON] et al. [14] proposed a method based on document templates and Domain-Specific Language for SC (DSL4 SC) templates to realize the automatic generation of SCs. This is an approach that combines domain-specific languages and templates, and the parameter mapping between the document template and the DSL4 SC template constitutes the SC template. Compared with our method, although this template-integrated method is more intuitive than the method using domain-specific language directly, it lacks flexibility. In addition, the tool used to build visualizations also allows us to automatically generate SCs, enabling users to generate SCs through configuration options in a userfriendly user interface (UI). Google Blockly is a commonly used tool that provides a drag-and-drop, composable programming environment that enables users to build programs by dragging and connecting graphical blocks of code [15]. This visual means of programming makes it more intuitive and easy to understand. [PERSON] et al. [16] present a prototype SC registry for the searching and discovery of SCs, and they develop a visual programming environment based on Google Blockly, equipped with basic Solidity instructions. The construction of more complex aggregation instructions is supported. [PERSON] et al. [17] use a clustering algorithm to extract features from the dataset captured by the SC program. Char-RNN (improved by LSTM) is used to automatically generate unified basic function codes based on domain features.