CN110554866B - 一种基于mvc交易类智能合约交互式设计方法 - Google Patents

一种基于mvc交易类智能合约交互式设计方法 Download PDF

Info

Publication number
CN110554866B
CN110554866B CN201910865275.4A CN201910865275A CN110554866B CN 110554866 B CN110554866 B CN 110554866B CN 201910865275 A CN201910865275 A CN 201910865275A CN 110554866 B CN110554866 B CN 110554866B
Authority
CN
China
Prior art keywords
intelligent contract
transaction
code
type intelligent
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910865275.4A
Other languages
English (en)
Other versions
CN110554866A (zh
Inventor
毛典辉
王亚磊
蔡强
李海生
左敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Technology and Business University
Original Assignee
Beijing Technology and Business University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Technology and Business University filed Critical Beijing Technology and Business University
Priority to CN201910865275.4A priority Critical patent/CN110554866B/zh
Publication of CN110554866A publication Critical patent/CN110554866A/zh
Application granted granted Critical
Publication of CN110554866B publication Critical patent/CN110554866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于MVC交易类智能合约交互式设计方法,采用MVC模式构建智能合约可视化设计系统,实现交易类智能合约简易、安全、快捷开发,提高了智能合约编写效率;包括:通过JavaScript脚本文件将SeqGAN生成的交易类智能合约基础代码嵌入Model层;View层选用Google Blockly构建可视化的Web交互式设计界面,为用户提供可视的交互式设计所需的工作区、工具箱、UI控件,实现智能合约设计所需组件可视化;采用监听器作为Controller层技术实现对交易类智能合约基础代码块的控制,将交易类智能合约基础代码块通过各自对应的交易类智能合约代码生成器函数转化为交易类智能合约代码文本,最后对生成的智能合约采用自动检测技术实现代码漏洞的检测。

Description

一种基于MVC交易类智能合约交互式设计方法
技术领域
本发明涉及智能合约可视化编程,区块链数字化交易的领域应用,特别是涉及一种基于MVC(Model-View-Controller,模型-视图-控制器)交易类智能合约交互式设计方法。
背景技术
智能合约(Smart Contract)最早由Nick Szabo在1994年提出,之后,随着不同的研究环境,智能合约也不断被重新定义。区块链出现后,2013年末,以太坊(Ethereum)创始人对“智能合约”定义了新场景,他将区块链交易逻辑与底层系统机制分离,底层系统负责交易块的创建和验证、记账者的共识达成等基础功能,而交易本身到底做什么事情通过智能合约编程的方式来定义。简言之,智能合约就是事件驱动下能够自动执行商务合约条款的计算机程序,满足一定条件时,如外部应用调用智能合约时,可以按照合约内容在区块链上执行操作、访问数据。开发者根据用户需求自定义交易逻辑,并发布到区块链上,交易执行时,用户通过应用接口调用智能合约中的方法,链上所有的节点在以太坊虚拟机中执行相同的交易代码,从而同步改变链上数据的状态,并将交易信息写入区块账本中。
随着互联网的迅猛发展,区块链3.0阶段旨在借助智能合约实现区块链网络与物理世界的深度耦合与强力反馈,从而实现区块链应用落地。其中,以太坊作为一个能够在区块链上实现智能合约、开源的底层系统,为智能合约应用开发提供了可编程开发语言(Solidity)、智能合约可编译执行的以太坊虚拟机(Ethereum Virtual Machine,EVM)以及资源公开共享的区块链网络平台。由此,智能合约应用大量诞生,且总体上可归结为两大类:一类是电子货币等金融交易服务应用,例如,Bogner等人基于智能合约所开发的区块链租赁平台,以及以交易为目的的电子转账平台,实现了陌生实体之间点对点直接交易;另一类则是着眼于区块链上信息不可篡改、透明、去中心等特性,将智能合约应用于防伪溯源、信息存证、供应链管理等领域,例如,Al-Bassam等人所开发的身份存证及管理应用平台。
然而,智能合约本质是一段运行在区块链网络中的代码,编写的过程中不可避免会出现错误和缺陷。随着区块链技术的发展,智能合约的安全漏洞也被逐渐披露。频繁发生的智能合约安全事件使得人们对区块链应用的安全现状产生了极大的质疑,也影响了目前处于初期阶段区块链技术的发展与普及。因此,为保证区块链网络中交易的高安全性,针对智能合约安全所展开的研究工作成为了区块链发展的首要研究重点。当前的大多数研究也因此集中于对智能合约发布前的安全审查工作采取对策,从而避免智能合约编码漏洞、减少智能合约安全攻击。然而,智能合约作为近年来的新生事物,在智能合约应用开发过程中,开发人员需要熟悉区块链及智能合约相关知识,且精通交易类智能合约代码编程语言,同时设计者需要熟知区块链智能合约领域知识,且对其编程语言Solidity具备一定的代码阅读及理解能力,设计者还需要对复杂的智能合约逻辑及业务规则进行理解,从而设计符合自身需求的智能合约。对于一般智能合约用户,基于智能合约应用领域的业务逻辑及自身需求设计交易类智能合约代码难度巨大。因此,在智能合约编码方面,对于智能合约编码简易性、可设计性、可交互等方面研究的关注仍存在缺陷。
MVC模式是一种适用于Web应用分层开发的设计模式,包含三个部分:Model(模型):用于处理Web应用中数据存取的数据逻辑单元;view(视图):为模型数据提供可视展示;Controller(控制器):通过视图实现与用户的交互,从而控制数据对模型进行操作。Google Blockly是一个基于MVC模式、可视化的Web交互式程序设计架构,它实现了与用户交互,根据现有的了解,还没有任何机构或组织采用MVC模式对交易类智能合约应用交互式设计方法。
因此,在现有技术基础上,普通智能合约用户若想开发智能合约基础代码需要熟知区块链智能合约领域知识,且对其编程语言Solidity具备一定的代码阅读及理解能力,同时普通智能合约用户还需要对复杂的智能合约逻辑及业务规则进行理解,从而设计符合自身需求的智能合约,这增加了开发交易类智能合约代码难度。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于MVC模式的交易类智能合约交互式设计方法,简化了交易类智能合约代码编写方式,为普通智能合约用户提供了可控的、可自定义业务逻辑的智能合约设计方法,实现智能合约快速、安全开发。
本发明技术解决方案:一种基于MVC模式的交易类智能合约交互式设计方法,采用MVC(Model-View-Controller,模型-视图-控制器)模式构建智能合约可视化设计系统,实现交易类智能合约简易、安全、快捷开发,提高了智能合约编写效率,以下对交易类智能合约代码交互式实现方法过程进行详细介绍,具体步骤如下:
(1)将Google Blockly可视化的Web交互式设计架构应用于智能合约的设计,通过Javascript语言,将构成交易类智能合约的基础代码块创建为blocks_compressed.js脚本文件,其中交易类智能合约基础代码块由SeqGAN模型对交易类智能合约数据集训练学习后生成的智能合约基本代码片段组成;所述交易类智能合约基础代码块包含三种类型:基础合约代码、基础方法代码和标准接口代码,并在blocks_compressed.js脚本文件中创建各个基础代码块对应的对象,同时对所创建的交易类智能合约基础代码块对象设置其外观、文本描述和所实现的功能。
(2)创建交易类智能合约代码生成器脚本文件blockly_compressed.js,并在blockly_compressed.js文件中构建步骤(1)中交易类智能合约基础代码块对象对应的代码生成器函数,其中智能合约代码生成器是将智能合约基础代码块对象作为参数传入代码生成器函数并将智能合约基础代码块对象解析为代码文本形式。将交易类智能合约基础代码块与交易类智能合约代码生成器实现关联,使得用户拖拽交易类智能合约代码生成功能块时,实现交易类智能合约代码生成。
(3)创建交易类智能合约代码用户操作工具箱文件toolbox.xml,将步骤(1)中交易类智能合约基础代码块和步骤(2)的智能合约代码生成器集成到工具箱文件toolbox.xml,其中工具箱文件toolbox.xml相当于菜单,用户通过操作工具箱中的智能合约基础代码块对象设计交易类智能合约代码;创建工作区文件workspace.js,实现了交易类智能合约工作区的创建,工作区里包含对工具箱文件中相应的交易类智能合约基础代码块、生成交易类智能合约代码保存按钮、清除工作区按钮的操作;在workspace.js文件中,对工作区上创建的每一操作添加监听器Listener,用于监听事件流,所述监听的事件流包括在工作区中对交易类智能合约基础代码块操作时触发的添加(Create)事件、删除(Delete)事件、对交易类智能合约基础代码块变量名称与变量值修改时用到的(Change)事件、用户在工作区上拖拽交易类智能合约基础代码块时的移动(Move)事件,最后通过用户操作触发事件,从而实现用户与工作区的交互;
步骤(4)通过步骤(1)、步骤(2)和步骤(3)实现了基于MVC模式的智能合约设计系统基础架构,在此基础上创建.html文件构建可视的交易类智能合约代码交互式设计界面;在.html文件中引用上述(1)(2)(3)步骤中所有.js文件,使用户操作通过对象与事件驱动实现与Web用户的动态交互,最终为用户提供一个交易类智能合约代码交互式的Web界面,其中用户通过交互式界面设计生成的是交易类智能合约代码;
步骤(5)为增加用户设计出的交易类智能合约代码的可用性,安全性,对用户设计的智能合约代码自动进行漏洞检测,自动检测内容包括时间戳一致性检测、异常诊断、账户信息监控,如果合约代码存在漏洞,则智能合约代码生成器自动标识合约代码漏洞类型,用户根据检测信息进行交互式设计直至代码检测通过。
所述方法是在Google Blockly交互式架构的基础上实现交易类智能合约代码交互式设计。所述步骤(1)中,交易类智能合约基础代码由SeqGAN模型生成的,SeqGAN解决对抗生成网络难应用于自然语言处理领域的问题,因此它适用于交易类智能合约基础代码生成;SeqGAN模型以可视UI组件的方式嵌入页面中,保障了生成的交易类智能合约基础代码的可用性。
利用Model层创建基于Blockly的交易类智能合约基础代码块,它以脚本文件的形式嵌入到MVC模式的Model层;利用View层使智能合约代码生成器以UI控件的形式进行展示,用户通过拖拽UI控件实现智能合约代码的设计操作;构建Blockly编辑器Web界面,提供可视编程所需的可视化组件。
本发明与现有技术相比的优点在于:
(1)提供一种基于MVC模式的交易类智能合约交互式方法,通过可视化的UI插件拖拽方式为普通智能合约用户提供了一个可交互的智能合约设计方法,简化了交易类智能合约代码编写难度,提高了智能合约编写效率。
(2)提供一种用户自定义业务逻辑的的交易类智能合约交互式方法,用户通过拖拽UI控件描述复杂的业务逻辑,系统自动生成完整的交易类智能合约代码,通过对用户设计的智能合约代码自动进行漏洞检测,保证了智能合约代码的可靠性。
附图说明
图1为本发明方法的实现模块流程图;
图2为SeqGAN结构示意图;
图3为MVC结构示意图;
图4为交易类智能合约基础代码交互式设计UI控件具体实现示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行描述。
如图1所示,本发明涉及一种基于MVC模式的交易类智能合约交互式设计方法,采用MVC(Model-View-Controller,模型-视图-控制器)模式构建智能合约可视化设计系统,实现交易类智能合约简易、安全、快捷开发,提高了智能合约编写效率;本发明包括:通过JavaScript脚本文件将SeqGAN生成的交易类智能合约基础代码(基础合约代码、基础方法代码、标准接口代码)嵌入Model层;View层选用Google Blockly构建可视化的Web交互式设计界面,为用户提供可视的交互式设计所需的工作区、工具箱、UI控件,实现智能合约设计所需组件可视化;采用监听器作为Controller层技术实现对交易类智能合约基础代码块的控制,将交易类智能合约基础代码块通过各自对应的交易类智能合约代码生成器函数转化为交易类智能合约代码文本,最后对生成的智能合约采用自动检测技术实现代码漏洞的检测。
具体的实现步骤如下:
(1)将Google Blockly可视化的Web交互式设计架构应用于智能合约的设计,通过Javascript语言,将构成交易类智能合约的基础代码块创建为blocks_compressed.js脚本文件,其中交易类智能合约基础代码块由SeqGAN模型对交易类智能合约数据集训练学习后生成的智能合约基本代码片段组成;所述交易类智能合约基础代码块包含三种类型:基础合约代码、基础方法代码和标准接口代码,并在blocks_compressed.js脚本文件中创建各个基础代码块对应的对象,同时对所创建的基础代码块对象设置其外观、文本描述和所实现的功能。其中SeqGAN结构如图2所示,SeqGAN是用对抗网络实现了离散序列数据的生成模型,交易类智能合约代码的本质也是离散序列数据,从而实现交易类智能合约代码的自动生成。左图根据真实样本和伪造样本训练判别器D网络,这里的判别器D网络用的CNN实现。右图根据判别器D网络回传的判别概率通过增强学习更新生成器G网络,这里的生成器G网络用的LSTM实现。已知生成器G网络的更新策略是增强学习,而增强学习的三个要素点即状态、活动、奖励。状态指的当前时间之前的解码结果,活动指的当前待解码词,判别器D网络判别伪造数据的置信度即为奖励,伪造数据越逼真则相应奖励越大。
(2)创建交易类智能合约代码生成器脚本文件blockly_compressed.js,并在blockly_compressed.js文件中构建步骤(1)中交易类智能合约基础代码块对象对应的代码生成器函数,其中智能合约代码生成器是将智能合约基础代码块对象作为参数传入代码生成器函数并将智能合约基础代码块对象解析为代码文本形式。将交易类智能合约基础代码块与交易类智能合约代码生成器实现关联,使得用户拖拽交易类智能合约代码生成功能块时,实现交易类智能合约代码生成。
(3)创建交易类智能合约代码用户操作工具箱文件toolbox.xml,将步骤(1)中交易类智能合约基础代码块和步骤(2)的智能合约代码生成器集成到工具箱文件toolbox.xml,其中工具箱文件toolbox.xml相当于菜单,用户通过操作工具箱中的智能合约基础代码块对象设计交易类智能合约代码;创建工作区文件workspace.js,实现了交易类智能合约工作区的创建,工作区里包含对工具箱文件中相应的交易类智能合约基础代码块、生成交易类智能合约代码保存按钮、清除工作区按钮的操作;在workspace.js文件中,对工作区上创建的每一操作添加监听器Listener,用于监听事件流,所述监听的事件流包括在工作区中对交易类智能合约基础代码块操作时触发的添加(Create)事件、删除(Delete)事件、对交易类智能合约基础代码块变量名称与变量值修改时用到的(Change)事件、用户在工作区上拖拽交易类智能合约基础代码块时的移动(Move)事件,最后通过用户操作触发事件,从而实现用户与工作区的交互。
(4)通过步骤(1)、步骤(2)和步骤(3)实现了基于MVC模式的智能合约设计系统基础架构,在此基础上创建.html文件构建可视的交易类智能合约代码交互式设计界面;在.html文件中引用上述(1)(2)(3)步骤中所有.js文件,使用户操作通过对象与事件驱动实现与Web用户的动态交互,最终为用户提供一个交易类智能合约代码交互式的Web界面,其中用户通过交互式界面设计生成的是交易类智能合约代码,具体界面分布如图4所示,界面左侧部分为代码设计所用的工具箱,工具箱中的组件包括基础交易类智能合约代码块、标准接口代码块、基础方法代码块及其各自相应的UI控件,其中基础合约代码块包括SafeMath安全运算合约与StandardToken标准合约、标准接口代码块包括ERC20代币标准接口、基础方法代码块包括balanceOf、allowance、transfer、approve、transferFrom等基本函数。
步骤(5)为增加用户设计出的交易类智能合约代码的可用性,安全性,对用户设计的智能合约代码自动进行漏洞检测,自动检测内容包括时间戳一致性检测、异常诊断、账户信息监控,如果合约代码存在漏洞,则智能合约代码生成器自动标识合约代码漏洞类型,用户根据检测信息进行交互式设计直至代码检测通过。
进一步的给出一个交易智能合约设计实例“MyContract”,并对其设计步骤展示。
(1)设计之前,首先需要明确“MyContract”智能合约设计的目的,该智能合约旨在使区块链数字资产平台上交易者间成功执行资产交易,且将交易过程中的一切与交易相关的信息(如交易者账户总额、交易过程中流转的代币量及相关的交易操作信息)都记录在以太坊区块链上,从而保障了资产交易信息的不可篡改与公开透明。明确智能合约目的后,下面将基于交互式设计界面由用户自定义智能合约逻辑、设计资产交易业务流程。
(2)用户依次将智能合约基础代码块SafeMath、ERC20及StandardToken的UI控件拖拽到工作区左侧空白页面,相应的将在工作区右侧代码框中出现这些控件所对应的Solidity交易类智能合约代码文本。其中,StandardToken对SafeMath及ERC20代码实现了继承;利用SafeMath检测代币在转账等交易操作过程中数值是否溢出,避免其不规范操作导致的智能合约运算安全问题;利用ERC20标准接口便于智能合约在设计时对其功能进行扩展。
(3)考虑交易者在进行资产交易过程中,需要在账户之间进行转账操作,因此将transfer代码UI控件拖拽至StandardToken控件中,并且在使用代币时,需要交易者进行批准之后才能实现代币在交易者账户之间的流转,因此,一个完整的转账操作还需要approve及transferFrom代码UI控件,其中transfer代码、approve代码、transferFrom代码为智能合约基础代码并且在工作台上有对应的UI控件。将转账涉及到的业务逻辑通过UI控件设计完成之后,各控件对应的交易类智能合约代码文本也将出现在工作区StandardToken智能合约内部。
(4)资产交易智能合约“MyContract”对标准智能合约StandardToken中的内容进行继承,即可在“MyContract”交易过程中实现转账功能。此外,用户可以通过扩展智能合约来对“MyContract”实现个性化设计,例如通过UI控件对智能合约中的变量更改变量名及更改变量值,从而基于用户需求对智能合约名称、账户可支配交易额,以及数值是否支持小数、小数点后几位等进行重定义,实现智能合约业务逻辑可控、支持用户自定义。
(5)最后,用户可以通过工作区上的保存按钮,将工作区右侧设计生成的交易智能合约保存为“MyContract.sol”,可以在以太坊测试链上进行成功部署、编译与运行,保证了所设计生成智能合约的可用性。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (6)

1.一种基于MVC交易类智能合约交互式设计方法,其特征在于:包括以下步骤:
步骤(1)将构成交易类智能合约的基础代码块创建为blocks_compressed.js脚本文件,其中交易类智能合约基础代码块由SeqGAN模型对交易类智能合约数据集训练学习后生成的智能合约基本代码片段组成;所述交易类智能合约基础代码块包含三种类型:基础合约代码、基础方法代码和标准接口代码,并在blocks_compressed.js脚本文件中创建各个基础代码块对应的对象,同时对所创建的交易类智能合约基础代码块对象设置其外观、文本描述和所实现的功能;
步骤(2)创建交易类智能合约代码生成器脚本文件blockly_compressed.js,并在blockly_compressed.js文件中构建步骤(1)中交易类智能合约基础代码块对象对应的代码生成器函数,其中智能合约代码生成器是将智能合约基础代码块对象作为参数传入代码生成器函数并将智能合约基础代码块对象解析为代码文本形式;
步骤(3)创建用户操作工具箱文件toolbox.xml,将步骤(1)中交易类智能合约基础代码块和步骤(2)的智能合约代码生成器集成到工具箱文件toolbox.xml,其中工具箱文件toolbox.xml相当于菜单,用户通过操作工具箱中的智能合约基础代码块对象设计交易类智能合约代码;创建工作区文件workspace.js实现交易类智能合约工作区的创建,工作区里包含对工具箱文件中相应的交易类智能合约基础代码块、生成交易类智能合约代码保存按钮、清除工作区按钮的操作;在workspace.js文件中,对工作区上创建的每一操作添加监听器Listener,用于监听事件流,所述监听的事件流包括在工作区中对交易类智能合约基础代码块操作时触发的添加事件、删除事件、对交易类智能合约基础代码块变量名称与变量值修改时用到的Change事件、用户在工作区上拖拽交易类智能合约基础代码块时的移动事件,最后通过用户操作触发事件,从而实现用户与工作区的交互;
步骤(4)通过步骤(1)、步骤(2)和步骤(3)实现了基于MVC(模型-视图-控制器)模式的智能合约设计系统基础架构,在此基础上创建.html文件构建可视的交易类智能合约代码交互式设计界面;在.html文件中引用上述(1)(2)(3)步骤中所有.js文件,使用户操作通过对象与事件驱动实现与Web用户的动态交互,最终为用户提供一个交易类智能合约代码交互式的Web界面,其中用户通过交互式界面设计生成的是交易类智能合约代码;
步骤(5)为增加用户设计出的交易类智能合约代码的可用性,安全性,对用户设计的智能合约代码自动进行漏洞检测,自动检测内容包括时间戳一致性检测、异常诊断、账户信息监控,如果合约代码存在漏洞,则智能合约代码生成器自动标识合约代码漏洞类型,用户根据检测信息进行交互式设计直至代码检测通过。
2.根据权利要求1所述的一种基于MVC交易类智能合约交互式设计方法,其特征在于:所述方法是在Google Blockly交互式架构的基础上实现交易类智能合约代码交互式设计。
3.根据权利要求1所述的一种基于MVC交易类智能合约交互式设计方法,其特征在于:所述步骤(1)中,交易类智能合约基础代码由SeqGAN模型生成的,SeqGAN解决对抗生成网络难应用于自然语言处理领域的问题,因此它适用于交易类智能合约基础代码生成;SeqGAN模型以可视UI组件的方式嵌入页面中,保障了生成的交易类智能合约基础代码的可用性。
4.根据权利要求1所述的一种基于MVC交易类智能合约交互式设计方法,其特征在于:所述步骤(2)中,利用Model层创建基于Blockly的交易类智能合约基础代码块,它以脚本文件的形式嵌入到MVC模式的Model层。
5.根据权利要求1所述的一种基于MVC交易类智能合约交互式设计方法,其特征在于:所述步骤(3)中,利用View层使智能合约代码生成器以UI控件的形式进行展示,用户通过拖拽UI控件实现智能合约代码的设计操作。
6.根据权利要求1所述的一种基于MVC交易类智能合约交互式设计方法,其特征在于:所述步骤(4)中,构建Blockly编辑器Web界面,提供视编程所需的可视化组件。
CN201910865275.4A 2019-09-12 2019-09-12 一种基于mvc交易类智能合约交互式设计方法 Active CN110554866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910865275.4A CN110554866B (zh) 2019-09-12 2019-09-12 一种基于mvc交易类智能合约交互式设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910865275.4A CN110554866B (zh) 2019-09-12 2019-09-12 一种基于mvc交易类智能合约交互式设计方法

Publications (2)

Publication Number Publication Date
CN110554866A CN110554866A (zh) 2019-12-10
CN110554866B true CN110554866B (zh) 2022-11-01

Family

ID=68740302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910865275.4A Active CN110554866B (zh) 2019-09-12 2019-09-12 一种基于mvc交易类智能合约交互式设计方法

Country Status (1)

Country Link
CN (1) CN110554866B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163949A (zh) * 2020-09-25 2021-01-01 湖南和信安华区块链科技有限公司 一种基于合约组件图形化的智能合约生成方法及装置
CN112329404B (zh) * 2021-01-04 2021-08-24 湖南科迪云飞信息科技有限公司 基于事实导向的文本生成方法、装置和计算机设备
CN113159723A (zh) * 2021-04-27 2021-07-23 中国工商银行股份有限公司 一种实现业务流程可视化配置的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536445A (zh) * 2018-03-28 2018-09-14 成都链安科技有限公司 面向区块链智能合约的高度自动化形式化验证系统及方法
CN109522008A (zh) * 2018-11-06 2019-03-26 陕西医链区块链集团有限公司 一种区块链智能合约构建方法
CN109840429A (zh) * 2019-01-08 2019-06-04 北京众享比特科技有限公司 智能合约部署、调用方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158479B2 (en) * 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536445A (zh) * 2018-03-28 2018-09-14 成都链安科技有限公司 面向区块链智能合约的高度自动化形式化验证系统及方法
CN109522008A (zh) * 2018-11-06 2019-03-26 陕西医链区块链集团有限公司 一种区块链智能合约构建方法
CN109840429A (zh) * 2019-01-08 2019-06-04 北京众享比特科技有限公司 智能合约部署、调用方法和装置

Also Published As

Publication number Publication date
CN110554866A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110554866B (zh) 一种基于mvc交易类智能合约交互式设计方法
Moody et al. Visual syntax does matter: improving the cognitive effectiveness of the i* visual notation
CN104111828B (zh) 人机交互界面自动生成方法及系统
CN102096588B (zh) 一种包含控件的页面的建立方法
US8977951B2 (en) Methods and apparatus for automated wizard generation
CN104823158B (zh) 用于简化的知识工程的方法与系统
US20100235275A1 (en) Card Processing
US20100241244A1 (en) Natively retaining project documentation in a controller
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
US8856728B2 (en) Composition studio to develop and maintain surveillance and compliance scenarios
AU2020205593B2 (en) Natural solution language
Maiden et al. Using i* in requirements projects: some experiences and lessons
Watanabe et al. WCAG conformance approach based on model-driven development and WebML
De Souza et al. Visual language for use case description
Eischen The social impact of informational production: Software development as an informational practice
Devos et al. Efficient reuse of domain-specific test knowledge: An industrial case in the smart card domain
WO2018037259A1 (en) Implementing secure transaction management utilizing tokenized sensitive information in an object-oriented transactional framework having hierarchically assemblable and selectable menu items
Jiang et al. Mod2Dash: A Framework for Model-Driven Dashboards Generation
Lachaume et al. Task model simulators: a review
Ramesh ρ-calculus based selection model of design pattern with interweaving of aspects for domain specific modeling language
Marko Applying generative AI and large language models in business applications
CN115546356A (zh) 动画生成方法、装置、计算机设备及存储介质
Campi et al. Experiences with a Formal Method for Design and Automatic Checking of User Interfaces.
Forsman Tool support for the derivation of product line use cases: A case study in the railway transportation domain
Jost Improving Comprehension of Process Diagrams with Graphical Highlights

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant