CN112163949A - 一种基于合约组件图形化的智能合约生成方法及装置 - Google Patents
一种基于合约组件图形化的智能合约生成方法及装置 Download PDFInfo
- Publication number
- CN112163949A CN112163949A CN202011019441.8A CN202011019441A CN112163949A CN 112163949 A CN112163949 A CN 112163949A CN 202011019441 A CN202011019441 A CN 202011019441A CN 112163949 A CN112163949 A CN 112163949A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- component
- contract
- intelligent
- logic
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003384 imaging method Methods 0.000 title claims abstract description 11
- 238000009472 formulation Methods 0.000 claims abstract description 9
- 239000000203 mixture Substances 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 22
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000003032 molecular docking Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000003860 storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009960 carding Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Abstract
本发明公开了一种基于合约组件图形化的智能合约生成方法及装置,所述方法包括构建智能合约组件集;创建目标确定待选择的智能合约组件;完成智能合约逻辑制定;检查各智能合约组件的流程逻辑和参数配置;输出智能合约描述文件;生成智能合约。与相关技术相比,该基于合约组件图形化的智能合约生成方法及装置提高合约的可用性和安全性。
Description
技术领域
本发明属于区块链技术领域,具体是涉及到一种基于合约组件图形化的智能合约生成方法、装置、终端设备及计算机可读介质。
背景技术
区块链是一种基于分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用体系。它本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
智能合约的概念最早于 1994 年由美国计算机科学家 Nick Szabo 提出并定义为 " 一套以数字形式指定的承诺 ,包括合约参与方可以在上面执行这些承诺的协议 "。具体是指一段可以自动执行的计算机程序,它自己就是一个系统参与者。它对接收到的信息进行回应,它可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先制定的规则执行操作。
目前的智能合约主要是以太坊智能合约为主,但合约开发门槛高,使用复杂,开发人员必须重新学习和掌握一门新语言(solidity),由于开发人员的能力和水平等因素,造成智能合约的可靠性和安全性不可控,严重影响智能合约的实际应用。
发明内容
本发明所要解决的技术问题是提供一种基于合约组件图形化的智能合约生成方法及装置,其能够降低合约代码的安全隐患,提高合约的可用性和安全性。
发明的技术解决方案如下:一种基于合约组件图形化的智能合约生成方法,包括:
根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;
智能合约参与方登入区块链账户,根据各参与方达成的智能合约创建目标确定待选择的智能合约组件;
从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定;
检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;
输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;
通过智能合约代码生成器将自描述文件转换成智能合约代码,完成智能合约的生成。
本发明还提供一种基于合约组件图形化的智能合约生成装置,包括:
智能合约组件集模块,包括若干智能合约组件模块,用于根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;
智能合约编辑模块,用于从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定;
智能合约检查模块,用于检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;
智能合约描述文件生成模块,用于输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;
智能合约代码生成模块,用于将自描述文件转换成智能合约代码,完成智能合约的生成。
本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述方法的步骤。
本发明还提供一种计算机可读介质,所述计算机可读介质存储有计算机程序,所述计算机程序被处理执行时实现任一项所述方法的步骤。
本发明的基于合约组件图形化的智能合约生成方法及装置通过创建和抽取合约原子组件,图形化操作界面,以拖拽方式直观操作,并配置各组件的初始输入参数,合约制作简单,流程闭环,分支流转条件清晰;基于描述文件,生成标准代码,极大地降低合约代码的安全隐患,大大提高合约的可用性和安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于合约组件图形化的智能合约生成方法的流程图;
图2是本发明实施例提供的一种基于合约组件图形化的智能合约生成装置的结构示意图。
图3是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参阅图1,图1是本发明实施例提供的一种基于合约组件图形化的智能合约生成方法包括如下内容:
S101、根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;所述的智能合约组件为封装有具体业务处理流程,其中所述的智能合约组件之间可以组合和内嵌,也即一个组件可以包含一个或多个其他组件,也可以是自身的嵌套,所述智能合约组件包含输入和输出的代码集合模板,包括组件类型、组件名称、组件功能描述、组件图标、参数及设置方式、结果输出、组件标准代码体;
所述智能合约组件集包括但是不限于账户组件、临时账户组件、临时账户资产退回组件、预言机对接组件、条件判断组件、定时组件和交易组件等。
在本发明的实施例子中,账户组件,对应一段代码,代码包括一个结构体,结构体数据包括一个区块链账户信息,一个账户组件对应一个合约参与方;预言机组件,对应一段代码,代码包含一个完整的网络请求,包括网络请求的目标API网址,该API对应的必须要提交的请求参数,一个预言机组件一般对应一个具体的预言机服务;判断组件,对应一段逻辑判断代码,代码包括一个判断目标对象,目标对象有几种可选值,不同可选值会对应不同的返回结果。基于以上组件,根据智能合约制定目标,可以调取组合,形成智能合约。例如,组合一个猜天气的打赌协议,A、B两人猜明天的天气情况,定义两个账户组件,一个对应A,一个对应B,再设置一个预言机组件,到时去取明天的天气信息,以天气信息作为判断目标,设置一个判断组件,如果天气是晴天,判定A赢,如果天气是雨天,判定B赢,如果是其他天气,则AB都不输也不赢。
本发明采用智能合约组件模式,相对于传统的智能合约元素模式,其直接输出的是输出描述文件,易于初学者通过简单训练即可掌握智能合约创建方法。
S102、智能合约参与方登入区块链账户,根据各参与方达成的智能合约创建目标确定待选择的智能合约组件;所述的区块链账户包括账户地址,所述账户地址是通过非对称加密算法的公钥经过MD5计算后再用Base58编码获得。
在发明的一个实施例中,区块链账户是区块链分布式账本的交易基础,由非对称加密算法的公私钥对组成,账户地址是通过非对称加密算法的公钥经过MD5计算后再用Base58编码获得。MD5是输入不定长度信息,输出固定长度128-bits的信息,Base58是一种独特的编码方式,相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号,其目的是避免混淆。也没有标点符号,通常不会被从中间分行,大部分的软件支持双击选择整个字符串。
智能合约参与方可以通过网页、app和小程序的途径登入区块链账户,进入智能合约创建界面,选择待定的智能合约组件。
S103、从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定。
在本发明的一个实施例中,智能合约参与方打开智能合约编辑器,进到智能合约创建界面。其中界面左边为合约组件集显示区,中间为合约编辑区,右边为组件属性显示设置区。参与方拖拽各组件到合约编辑区,根据组件要求设置基础参数,判断条件,跳转流程,输出结果等。
S104、检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;具体包括:
检查各智能合约组件所需参数和定义配置参数以及来源参数是否匹配;
检查各智能合约组件组合流程逻辑是否清晰完整以及各智能合约组件组合是否存在死循环。
通过检查步骤,能够保证智能合约组件之间的逻辑清楚,参数配置的准确性更好,提高智能合约组件可调用性。
S105、输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;自描述文件其内容为一个或多个智能合约组件及其相应配置参数组合而成的描述性文件。
S106、通过智能合约代码生成器将自描述文件转换成智能合约代码,完成智能合约的生成;通过自描述文件生成标准的智能合约代码,提高安全性,标准的智能合约代码将会上传到区块链网络中进行广播,以便于智能合约的触发或调用。
本发明的基于合约组件图形化的智能合约生成方法及装置通过抽取合约原子组件,图形化操作界面,以拖拽方式直观操作,并配置各组件的初始输入参数,合约制作简单,流程闭环,分支流转条件清晰;基于描述文件,生成标准代码,极大地降低合约代码的安全隐患,大大提高合约的可用性和安全性。
请参阅图2,图2为本发明提供的一种基于合约组件图形化的智能合约生成装置,包括:
智能合约组件集模块1,用于根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;所述智能合约组件集模块包括:智能合约组件模块,通过模块之间的组合和内嵌,用于智能合约,包括组件类型、组件名称、组件功能描述、组件图标、参数及设置方式、结果输出、组件标准代码体。所述智能合约组件集模块1主要用于方便组件之间的相互组合或嵌套,通过组合或嵌套方式从而能够生成多种具有不同功能的且能够满足需求的智能合约组件。
智能合约编辑模块2,用于从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定。所述智能合约编辑模块2其目的是方便用户根据需求对智能合约组件进行选择和编辑操作。智能合约编辑模块主要采用图形化操作界面,以拖拽方式直观操作,提高编辑的可操作性,界面左边为合约组件集显示区,中间为合约编辑区,右边为组件属性显示设置区。
智能合约检查模块3,用于检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;包含一个规则检查器,对编辑中的合约进行规则检查,检查通过的智能合约设置信息。所述智能合约检查模块3是保证各个组件进行组合或嵌套时,相互之间逻辑顺序清楚,参数配置的合理性。
智能合约描述文件生成模块4,用于输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件。自描述文件包含智能合约组件逻辑、合约业务流程内容、执行条件、终止条件、版本修改信息、明确描述修改时间、修改版本号等内容。
智能合约代码生成模块5,用于将自描述文件转换成智能合约代码,完成智能合约的生成。所述智能合约代码生成模块5主要将自描述文件按照智能合约标准代码的格式进行转换,当用户点击生成合约代码时调用智能合约代码生成器,输出智能合约要求的中间代码或可执行代码,能够降低智能合约代码的编译操作,提高智能合约代码的可用性和安全性。
所述智能合约生成装置还包括:区块链账户模块6,用于区块链中智能合约参与方登入智能合约创建界面进行智能合约的创建,所述的区块链账户包括账户地址,所述账户地址是通过非对称加密算法的公钥经过MD5计算后再用Base58编码获得。
本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述方法的步骤。
图3是本发明一实施例提供的终端设备的示意图。如图3所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如进行信用融资的程序。所述处理器70执行所述计算机程序72时实现上述方法实施例中的步骤,例如,图1所示的S101至S106。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块1至6的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在终端设备7中的执行过程。例如,所述计算机程序72可以被分割成智能合约组件集模块1、智能合约编辑模块2和智能合约检查模块3等。(虚拟装置中的模块),各模块具体功能如下:
智能合约组件集模块1,包括若干智能合约组件模块,用于根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;
智能合约编辑模块2,用于从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定;
智能合约检查模块3,用于检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;
智能合约描述文件生成模块4,用于输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;
智能合约代码生成模块5,用于将自描述文件转换成智能合约代码,完成智能合约的生成。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备7可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图3仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及终端设备7所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于合约组件图形化的智能合约生成方法,其特征在于,包括:
创建智能合约组件,并形成智能合约组件集;
根据各智能参与方达成的智能合约创建目标确定待选择的智能合约组件;
从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定;
检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;
输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;
通过智能合约代码生成器将自描述文件转换成智能合约代码,完成智能合约的生成。
2.根据权利要求1所述的基于合约组件图形化的智能合约生成方法,其特征在于,所述创建智能合约组件,并形成智能合约组件集包括:
所述的智能合约组件为封装有具体业务处理流程,包含输入和输出的代码集合模板,包括组件类型、组件名称、组件功能描述、组件图标、参数及设置方式、结果输出、组件标准代码体;
所述智能合约组件集包括账户组件、临时账户组件、临时账户资产退回组件、预言机对接组件、条件判断组件、定时组件和交易组件中至少一种。
3.根据权利要求2所述的基于合约组件图形化的智能合约生成方法,其特征在于,所述从智能合约组件集区域选择指定的智能合约组件拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定,包括:
所述的智能合约组件可以互相组合和内嵌。
4.根据权利要求1~3中任一项所述的基于合约组件图形化的智能合约生成方法,其特征在于,所述检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑,包括:
检查各智能合约组件所需参数和定义配置参数以及来源参数是否匹配;
检查各智能合约组件组合流程逻辑是否清晰完整以及各智能合约组件组合是否存在死循环。
5.根据权利要求1所述的基于合约组件图形化的智能合约生成方法,其特征在于,所述智能合约参与方登入区块链账户,根据各参与方达成的智能合约创建目标确定待选择的智能合约组件,包括:
所述的区块链账户包括账户地址,所述账户地址是通过非对称加密算法的公钥经过MD5计算后再用Base58编码获得。
6.一种基于合约组件图形化的智能合约生成装置,其特征在于,包括:
智能合约组件集模块,包括若干智能合约组件模块,用于根据智能合约运行机制、编译机制,基于业务应用场景梳理制定智能合约组件,并形成智能合约组件集;
智能合约编辑模块,用于从智能合约组件集区域选择指定的智能合约组件并拖曳到智能合约编辑区域,输入各智能组件之间的流程逻辑和参数配置,完成智能合约逻辑制定;
智能合约检查模块,用于检查各智能合约组件的流程逻辑和参数配置,如通过则进行下一步,如不通过则返回上一步骤重新制定智能合约逻辑;
智能合约描述文件生成模块,用于输出智能合约描述文件,将通过检查的智能合约组件生成一个XML格式或JS格式的自描述文件;
智能合约代码生成模块,用于将自描述文件转换成智能合约代码,完成智能合约的生成。
7.根据权利要求6所述的基于合约组件图形化的智能合约生成装置,其特征在于,所述智能合约组件集模块包括:
智能合约组件模块,通过模块之间的组合和内嵌,用于智能合约,包括组件类型、组件名称、组件功能描述、组件图标、参数及设置方式、结果输出、组件标准代码体。
8.根据权利要求6所述的基于合约组件图形化的智能合约生成装置,其特征在于,还包括:
区块链账户模块,用于区块链中智能合约参与方登入智能合约创建界面进行智能合约的创建,所述的区块链账户包括账户地址,所述账户地址是通过非对称加密算法的公钥经过MD5计算后再用Base58编码获得。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述方法的步骤。
10.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011019441.8A CN112163949A (zh) | 2020-09-25 | 2020-09-25 | 一种基于合约组件图形化的智能合约生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011019441.8A CN112163949A (zh) | 2020-09-25 | 2020-09-25 | 一种基于合约组件图形化的智能合约生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112163949A true CN112163949A (zh) | 2021-01-01 |
Family
ID=73863695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011019441.8A Pending CN112163949A (zh) | 2020-09-25 | 2020-09-25 | 一种基于合约组件图形化的智能合约生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112163949A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110920A (zh) * | 2021-06-11 | 2021-07-13 | 北京百度网讯科技有限公司 | 区块链系统的运行方法、装置、设备和存储介质 |
WO2023169193A1 (zh) * | 2022-03-10 | 2023-09-14 | 京东科技信息技术有限公司 | 用于生成智能合约的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829296A (zh) * | 2019-01-29 | 2019-05-31 | 中化能源科技有限公司 | 基于联盟链的智能合约的沙箱实现方法 |
CN110554866A (zh) * | 2019-09-12 | 2019-12-10 | 北京工商大学 | 一种基于mvc交易类智能合约交互式设计方法 |
CN110704537A (zh) * | 2019-09-27 | 2020-01-17 | 北京启迪区块链科技发展有限公司 | 智能合约的生成方法、装置、设备及存储介质 |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证系统及方法 |
WO2020119391A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及系统 |
-
2020
- 2020-09-25 CN CN202011019441.8A patent/CN112163949A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020119391A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及系统 |
CN109829296A (zh) * | 2019-01-29 | 2019-05-31 | 中化能源科技有限公司 | 基于联盟链的智能合约的沙箱实现方法 |
CN110554866A (zh) * | 2019-09-12 | 2019-12-10 | 北京工商大学 | 一种基于mvc交易类智能合约交互式设计方法 |
CN110704537A (zh) * | 2019-09-27 | 2020-01-17 | 北京启迪区块链科技发展有限公司 | 智能合约的生成方法、装置、设备及存储介质 |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110920A (zh) * | 2021-06-11 | 2021-07-13 | 北京百度网讯科技有限公司 | 区块链系统的运行方法、装置、设备和存储介质 |
CN113110920B (zh) * | 2021-06-11 | 2021-11-09 | 北京百度网讯科技有限公司 | 区块链系统的运行方法、装置、设备和存储介质 |
WO2023169193A1 (zh) * | 2022-03-10 | 2023-09-14 | 京东科技信息技术有限公司 | 用于生成智能合约的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Sok: Decentralized exchanges (dex) with automated market maker (amm) protocols | |
CN108268253B (zh) | 接口代码生成方法及终端设备 | |
CN109804396B (zh) | 数字资产建模 | |
EP4075357A1 (en) | Concurrent state machine processing using a blockchain | |
EP3411840B1 (en) | Computer-implemented system and method for determining the state of a machine executable contract implemented using a blockchain | |
TW201820241A (zh) | 用於經由區塊鏈實施確定性有限自動機(dfa)之系統及方法 | |
CN108648810B (zh) | 医学审核的数据处理方法、装置、及计算机可读存储介质 | |
CN107730196A (zh) | 项目进度管理方法及终端设备 | |
CN112637127A (zh) | 一种跨区块链通信方法及装置 | |
CN107315955A (zh) | 文件安全性识别方法和装置 | |
CN112163949A (zh) | 一种基于合约组件图形化的智能合约生成方法及装置 | |
CN105956469A (zh) | 文件安全性识别方法和装置 | |
CN107480554A (zh) | 一种权限管理方法、权限管理装置及智能终端 | |
CN109582550A (zh) | 一种获取全量业务场景故障集合的方法、装置及服务器 | |
CN108733374A (zh) | 应用程序首页开发方法及终端设备 | |
CN111597269A (zh) | 一种基于区块链的合约实现方法、装置及设备 | |
CN114637682A (zh) | 一种saas系统接口云端调试方法、系统、设备及介质 | |
CN107679889B (zh) | 一种潜在客户的识别方法及终端设备 | |
Elrom et al. | Blockchain nodes | |
CN111612616A (zh) | 区块链账户评估方法、装置、终端设备及计算机可读介质 | |
CN107464334A (zh) | 纸币的识别方法、识别装置及终端设备 | |
Liang et al. | From cadcad to cascad2: A mechanism validation and verification system for decentralized autonomous organizations based on parallel intelligence | |
CN110569038A (zh) | 随机验证参数设计方法、装置、计算机设备及存储介质 | |
CN109067551A (zh) | 一种实名认证方法、计算机可读存储介质和终端设备 | |
CN111210345A (zh) | 一种基于区块链网络交易的签名方法、装置及终端设备 |
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 |