CN111506579A - 一种智能合约代码的生成方法、程序及设备 - Google Patents

一种智能合约代码的生成方法、程序及设备 Download PDF

Info

Publication number
CN111506579A
CN111506579A CN202010471059.4A CN202010471059A CN111506579A CN 111506579 A CN111506579 A CN 111506579A CN 202010471059 A CN202010471059 A CN 202010471059A CN 111506579 A CN111506579 A CN 111506579A
Authority
CN
China
Prior art keywords
data table
data
table template
template
service
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.)
Granted
Application number
CN202010471059.4A
Other languages
English (en)
Other versions
CN111506579B (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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010471059.4A priority Critical patent/CN111506579B/zh
Publication of CN111506579A publication Critical patent/CN111506579A/zh
Priority to PCT/CN2021/096522 priority patent/WO2021239074A1/zh
Application granted granted Critical
Publication of CN111506579B publication Critical patent/CN111506579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了一种智能合约代码的生成方法、程序及设备。开发一款自动化合约程序提供给业务方使用,自动化合约程序可以向业务方提供数据表模板,以便业务方根据自己的需求对业务数据存储方式进行配置,然后,自动化合约程序可以根据业务方的配置自动生成智能合约代码。

Description

一种智能合约代码的生成方法、程序及设备
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种智能合约代码的生成方法、程序及设备。
背景技术
在区块链技术领域,业务方通常会在区块链网络中部署智能合约来实现业务。 一般而言,业务方通常会基于自己业务的实际情况来开发智能合约代码,这往往意味着不小的工作量。
此外,开发智能合约代码要求一定的技术门槛,技术水平较低的业务方开发智能合约代码的效率较低。
发明内容
为了解决现有的智能合约代码的开发方法存在的工作量大且效率低的问题,本说明书实施例提供一种智能合约代码的生成方法、程序及设备,方案如下:
根据本说明书实施例的第1方面,提供一种智能合约代码生成的方法,应用于自动化合约程序,所述方法包括:
向业务方提供数据表模板集合;其中,所述数据表模板集合包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式;
接收所述业务方向所述第一数据表模板中输入的至少一组条目参数;其中,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值;
根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
根据本说明书实施例的第2方面,提供一种自动化合约程序,包括:
模板提供模块,向业务方提供数据表模板集合;其中,所述数据表模板集合包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式;
第一参数接收模块,接收所述业务方向所述第一数据表模板中输入的至少一组条目参数;其中,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值;
模板解析模块,根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
本说明书实施例所提供的技术方案,开发一款自动化合约程序提供给业务方使用,自动化合约程序可以向业务方提供数据表模板,以便业务方根据自己的需求对业务数据存储方式进行配置,然后,自动化合约程序可以根据业务方的配置自动生成智能合约代码。通过本说明书实施例,由于不同的业务方往往都存在区块链存储业务数据的需求,而存储业务数据的需求往往可以用数据表来进行配置,因此,可以针对这种通用需求开发数据表模板,让不同的业务方可以使用数据表模板来进行业务数据的存储方式的配置,而不用再编写这部分智能合约代码,节省了工作量,提升了效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种智能合约代码生成的方法的流程示意图;
图2是本说明书实施例提供的一种自动化合约程序的软件结构示意图;
图3是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
众所周知,区块链的主要应用场景是数据存证,存证到区块链中的数据具有不可篡改性。因此,目前几乎所有的业务方在借助区块链开展业务时,都会将至少部分业务数据存储到区块链中。
也就是说,对几乎所有的业务方而言,虽然实际业务千差万别,但是都存在存储业务数据这一通用需求,然而,每个业务方在开发智能合约代码时,都需要自己开发有关业务数据存储方式的代码。
在本说明书的一个或多个实施例中,一方面考虑到可以将业务数据存储这种通用需求提炼出来,另一方面考虑到数据存储方式的配置可以通过结构化的数据表来体现,因此,开发一种自动化合约程序(或称自动化合约工具)提供给不同的业务方使用,自动化合约程序内置有数据表模板,业务方可以填写数据表模板,完成对于业务数据存储方式的配置,然后自动化合约程序根据预置的模板解析规则,自动将业务方配置完毕的数据表模板解析成智能合约代码返回给业务方,业务方也就不需要再开发这部分代码了。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1是本说明书实施例提供的一种智能合约代码生成的方法的流程示意图,包括以下步骤:
S100:向业务方提供数据表模板集合。
本方案的执行主体是自动化合约程序,业务方可以将自动化合约程序安装在自己的计算机设备(如电脑、手机、平板电脑)上进行使用。
自动化合约程序中内置有数据表模板集合(包括至少一个数据表模板),自动化合约程序可以向业务方提供可视化界面,将数据表模板集合展示给业务方,提示业务方对数据表模板集合中的数据表模板进行填写。
当数据表模板集合中包括不止一个数据表模板时,业务方可以选择其中一个数据表模板进行填写,也可以选择全部的数据表模板进行填写。
在本说明书实施例中,数据表模板集合中至少包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式。
当然,后文将会进一步提及,所述第一数据表模板还可以包括更多的其他字段。
S102:接收所述业务方向所述第一数据表模板中输入的至少一组条目参数。
表1示例性地给出了一种第一数据表模板:
Figure 264427DEST_PATH_IMAGE001
表2示例性地给出了另一种第一数据表模板:
Figure 680364DEST_PATH_IMAGE002
业务方可以选择第一数据表模板中的一个空白条目进行输入,每个空白条目用于配置对业务数据的某一个维度的特征进行存储。
对于表1,已经预留了若干空白条目供业务方输入,对于表2,业务方可以手动增加空白条目后再进行输入。
本文所述的“输入”,是指业务方填写第一数据表模板的方式,其具体可以是键入字段值,也可以是语音输入字段值,还可以是在每个空白单元格对应的下拉菜单中选择字段值。
总之,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值,用于表征业务方提交的业务数据的该维度下的特征名称、特征类型以及特征描述。
举例来说,假设业务方是专门售卖艺术品的电商平台,其想要将业务中产生的每一个订单数据提交给区块链进行存储。为此,电商平台在使用自动化合约程序进行配置时,可以按照如下方式配置第一数据表模板:
Figure 416239DEST_PATH_IMAGE003
其中,table指代订单数据整体,可以视为表3的表标识,其是艺术品的订单数据,因此特征类型是艺术品(Art)。art id是指订单数据中的艺术品的标识,art size是指艺术品的尺寸,art type是指艺术品具体所属的种类(如绘画、雕塑),art owner是指艺术品的拥有者。
S104:根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
当数据表模板集合中只包括第一数据表模板时,业务方完成对第一数据表模板的配置之后,自动化合约程序就可以根据预置的模板解析规则,将完成配置之后的第一数据表模板解析成智能合约代码,提供给业务方。在实际应用中,当业务方向区块链网络提交封装有业务数据的交易时,该交易调用该智能合约代码,并基于该智能合约代码,将该业务数据以用户通过第一数据表模板定义的存储方式进行存储。
通过图1所示的方法,开发一款自动化合约程序提供给业务方使用,自动化合约程序可以向业务方提供数据表模板,以便业务方根据自己的需求对业务数据存储方式进行配置,然后,自动化合约程序可以根据业务方的配置自动生成智能合约代码。通过本说明书实施例,由于不同的业务方往往都存在区块链存储业务数据的需求,而存储业务数据的需求往往可以用数据表来进行配置,因此,可以针对这种通用需求开发数据表模板,让不同的业务方可以使用数据表模板来进行业务数据的存储方式的配置,而不用再编写这部分智能合约代码,节省了工作量,提升了效率。
此外,在本说明书实施例中,第一数据表模板中还可以包括功能字段,用于配置针对提交给区块链的业务数据的预设功能集合中的至少一种。例如,可以参见表4所示:
Figure 710080DEST_PATH_IMAGE004
预设功能集合是自动化合约程序中预置的,提供了若干预设功能,业务方可以在配置第一数据表模板时选择一个或多个预设功能,然后自动化合约程序生成的合约代码中也会一并包括业务方选择的预设功能对应的代码。
举例来说,预设功能集合中可以包括以下功能中的至少一种:
权限控制功能,用于控制针对业务数据的访问权限;
日志功能,用于生成针对业务数据的操作日志;
溯源功能,用于追溯业务方提交给区块链的每个包含业务数据的业务交易;
数据展示功能,用于以指定展示方案将业务数据输出展示;
触发生效功能,用于设定以业务方配置的存储方式对业务数据进行存储的的生效时间。
需要说明的是,预设功能一般是以业务数据整体为粒度进行配置,因此,对于表3所示,通常只有第一个条目包含预设功能的字段值,例如参见表5:
Figure 847800DEST_PATH_IMAGE005
另外,在本说明书实施例中,所述数据表模板集合还可以包括第二数据表模板,所述第二数据表模板包括特征名称字段与操作方法字段,用于配置针对所述业务方提交给区块链的业务数据的操作方式。
在将输入条目参数后的数据表模板解析成智能合约代码之前,可以接收所述业务方向所述第二数据表模板中输入的至少一组条目参数;其中,向所述第二数据表模板中输入的每组条目参数包括与所述第二数据表模板的各字段一一对应的字段值。
其中,所述操作方法字段对应的字段值包括以下至少一种:
用于表征数据插入操作的字段值(如insert);
用于表征数据修改操作的字段值(如update);
用于表征数据查询操作的字段值(如query);
用于表征数据删除操作的字段值(如delete)。
在实际应用中,一方面,业务方可以向区块链网络提交封装有业务数据的交易,以便调用智能合约代码,将该业务数据以“业务方通过第一数据表模板预先定义的存储方式”进行存储,另一方面,在业务数据被存储后,业务方还可以向区块链网络发起操作交易,以便调用智能合约代码对存储后的业务数据进行插入、修改、查询、删除等操作(业务方通过第二数据表模板预先定义的操作方式)。
表6示例性地给出了一种第二数据表模板:
Figure 169060DEST_PATH_IMAGE006
由于业务方一般是针对数据表模板集合进行输入的,而数据表模板集合中的第一数据表模板与第二数据表模板皆配置完毕后,当然具有关联关系。此外,为了在形式上体现出第一数据表模板与第二数据表模板之间的关联性,第二数据表模板也可以如表7所示:
Figure 392231DEST_PATH_IMAGE007
其中,关联表字段中可以记录配置完毕的第一数据表模板的表标识。
如此,对应于表3所示的配置完成的第一数据表模板,配置完成的第二数据表模板可以是:
Figure 722718DEST_PATH_IMAGE008
或者:
Figure 714945DEST_PATH_IMAGE009
此外,在本说明书实施例中,根据预置的模板解析规则,将输入条目参数后的数据表模板集合解析成智能合约代码的实施方式有多种。可选的一种实施方式为,生成输入条目参数后的数据表模板集合对应的数据库模式schema描述,并基于所述schema描述确定智能合约代码。
例如,对于某个电商平台的业务数据(订单)而言,其可以被业务方通过第一数据表模板配置为以下表结构:
{
orderId:string;//订单id
time:string;//生成时间
operatorId:string;//操作者id
key:orderId;//表主键
}
上述表结构对应的schema描述为:
namespace ContractTableManager;
table TableManager {
Orders:[Order];
}
table Order{
OrderId:string;
time:string;
operatorId:string;
}
root_type TableManager;
自动化合约程序可以根据schema描述来实现对结构化数据(即数据表中的数据)的解析,生成用于调用结构化数据的接口的代码,接着,再生成用于调用接口的方法的代码,在生成的合约代码中,可以实现业务方配置的操作方法调用这些接口来获取数据,进行操作。
另外,在本说明书实施例中,自动化合约程序还可以基于输入条目参数后的数据表模板集合,生成测试框架提供给所述业务方,用于对所述智能合约代码进行测试,如此,业务方不必自行开发测试框架。
图2是本说明书实施例提供的一种自动化合约程序的软件结构示意图,包括:
模板提供模块201,向业务方提供数据表模板集合;其中,所述数据表模板集合包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式;
第一参数接收模块202,接收所述业务方向所述第一数据表模板中输入的至少一组条目参数;其中,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值;
模板解析模块203,根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
所述第一数据表模板还包括功能字段,用于配置针对提交给区块链的业务数据的预设功能集合中的至少一种。
所述预设功能集合包括以下功能:
权限控制功能,用于控制针对业务数据的访问权限;
日志功能,用于生成针对业务数据的操作日志;
溯源功能,用于追溯业务方提交给区块链的每个包含业务数据的业务交易;
数据展示功能,用于以指定展示方案将业务数据输出展示;
触发生效功能,用于设定以业务方配置的存储方式对业务数据进行存储的的生效时间。
所述数据表模板集合还包括第二数据表模板,所述第二数据表模板包括特征名称字段与操作装置字段,用于配置针对所述业务方提交给区块链的业务数据的操作方式;
所述装置还包括:
第二参数接收模块204,在所述模板解析模块将输入条目参数后的数据表模板解析成智能合约代码之前,接收所述业务方向所述第二数据表模板中输入的至少一组条目参数;其中,向所述第二数据表模板中输入的每组条目参数包括与所述第二数据表模板的各字段一一对应的字段值。
所述操作装置字段对应的字段值包括以下至少一种:
用于表征数据插入操作的字段值;
用于表征数据修改操作的字段值;
用于表征数据查询操作的字段值;
用于表征数据删除操作的字段值。
所述模板解析模块203,生成输入条目参数后的数据表模板集合对应的数据库模式schema描述,并基于所述schema描述确定智能合约代码。
自动化合约程序还包括:框架生成模块205,基于输入条目参数后的数据表模板集合,生成测试框架提供给所述业务方,用于对所述智能合约代码进行测试。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示的方法。
图3示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务设备,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (15)

1.一种智能合约代码的生成方法,应用于自动化合约程序,所述方法包括:
向业务方提供数据表模板集合;其中,所述数据表模板集合包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式;
接收所述业务方向所述第一数据表模板中输入的至少一组条目参数;其中,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值;
根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
2.如权利要求1所述的方法,所述第一数据表模板还包括功能字段,用于配置针对提交给区块链的业务数据的预设功能集合中的至少一种。
3.如权利要求2所述的方法,所述预设功能集合包括以下功能:
权限控制功能,用于控制针对业务数据的访问权限;
日志功能,用于生成针对业务数据的操作日志;
溯源功能,用于追溯业务方提交给区块链的每个包含业务数据的业务交易;
数据展示功能,用于以指定展示方案将业务数据输出展示;
触发生效功能,用于设定以业务方配置的存储方式对业务数据进行存储的的生效时间。
4.如权利要求1所述的方法,所述数据表模板集合还包括第二数据表模板,所述第二数据表模板包括特征名称字段与操作方法字段,用于配置针对所述业务方提交给区块链的业务数据的操作方式;
在将输入条目参数后的数据表模板解析成智能合约代码之前,所述方法还包括:
接收所述业务方向所述第二数据表模板中输入的至少一组条目参数;其中,向所述第二数据表模板中输入的每组条目参数包括与所述第二数据表模板的各字段一一对应的字段值。
5.如权利要求4所述的方法,所述操作方法字段对应的字段值包括以下至少一种:
用于表征数据插入操作的字段值;
用于表征数据修改操作的字段值;
用于表征数据查询操作的字段值;
用于表征数据删除操作的字段值。
6.如权利要求1所述的方法,根据预置的模板解析规则,将输入条目参数后的数据表模板集合解析成智能合约代码,具体包括:
生成输入条目参数后的数据表模板集合对应的数据库模式schema描述,并基于所述schema描述确定智能合约代码。
7.如权利要求1所述的方法,还包括:
基于输入条目参数后的数据表模板集合,生成测试框架提供给所述业务方,用于对所述智能合约代码进行测试。
8.一种自动化合约程序,包括:
模板提供模块,向业务方提供数据表模板集合;其中,所述数据表模板集合包括第一数据表模板,所述第一数据表模板包括特征名称字段、特征类型字段与特征描述字段,用于配置针对所述业务方提交给区块链的业务数据的存储方式;
第一参数接收模块,接收所述业务方向所述第一数据表模板中输入的至少一组条目参数;其中,向所述第一数据表模板中输入的每组条目参数包括与所述第一数据表模板的各字段一一对应的字段值;
模板解析模块,根据预置的模板解析规则,将输入条目参数后的所述数据表模板集合解析成智能合约代码,提供给所述业务方。
9.如权利要求8所述的装置,所述第一数据表模板还包括功能字段,用于配置针对提交给区块链的业务数据的预设功能集合中的至少一种。
10.如权利要求9所述的装置,所述预设功能集合包括以下功能:
权限控制功能,用于控制针对业务数据的访问权限;
日志功能,用于生成针对业务数据的操作日志;
溯源功能,用于追溯业务方提交给区块链的每个包含业务数据的业务交易;
数据展示功能,用于以指定展示方案将业务数据输出展示;
触发生效功能,用于设定以业务方配置的存储方式对业务数据进行存储的的生效时间。
11.如权利要求8所述的装置,所述数据表模板集合还包括第二数据表模板,所述第二数据表模板包括特征名称字段与操作装置字段,用于配置针对所述业务方提交给区块链的业务数据的操作方式;
所述装置还包括:
第二参数接收模块,在所述模板解析模块将输入条目参数后的数据表模板解析成智能合约代码之前,接收所述业务方向所述第二数据表模板中输入的至少一组条目参数;其中,向所述第二数据表模板中输入的每组条目参数包括与所述第二数据表模板的各字段一一对应的字段值。
12.如权利要求11所述的装置,所述操作装置字段对应的字段值包括以下至少一种:
用于表征数据插入操作的字段值;
用于表征数据修改操作的字段值;
用于表征数据查询操作的字段值;
用于表征数据删除操作的字段值。
13.如权利要求8所述的装置,所述模板解析模块,生成输入条目参数后的数据表模板集合对应的数据库模式schema描述,并基于所述schema描述确定智能合约代码。
14.如权利要求8所述的装置,还包括:
框架生成模块,基于输入条目参数后的数据表模板集合,生成测试框架提供给所述业务方,用于对所述智能合约代码进行测试。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-7任一项所述的方法。
CN202010471059.4A 2020-05-28 2020-05-28 一种智能合约代码的生成方法、程序及设备 Active CN111506579B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010471059.4A CN111506579B (zh) 2020-05-28 2020-05-28 一种智能合约代码的生成方法、程序及设备
PCT/CN2021/096522 WO2021239074A1 (zh) 2020-05-28 2021-05-27 一种智能合约代码的生成方法、程序及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010471059.4A CN111506579B (zh) 2020-05-28 2020-05-28 一种智能合约代码的生成方法、程序及设备

Publications (2)

Publication Number Publication Date
CN111506579A true CN111506579A (zh) 2020-08-07
CN111506579B CN111506579B (zh) 2022-09-20

Family

ID=71864424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010471059.4A Active CN111506579B (zh) 2020-05-28 2020-05-28 一种智能合约代码的生成方法、程序及设备

Country Status (2)

Country Link
CN (1) CN111506579B (zh)
WO (1) WO2021239074A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148613A (zh) * 2020-09-28 2020-12-29 财付通支付科技有限公司 用于测试区块链服务的智能合约的生成方法及装置
CN112148280A (zh) * 2020-09-21 2020-12-29 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证业务模板化开发方法
CN113179294A (zh) * 2021-03-15 2021-07-27 华东师范大学 一种基于智能合约的schema统一存取方法
WO2021239074A1 (zh) * 2020-05-28 2021-12-02 支付宝(杭州)信息技术有限公司 一种智能合约代码的生成方法、程序及设备
CN114239039A (zh) * 2021-09-30 2022-03-25 西南电子技术研究所(中国电子科技集团公司第十研究所) 一种自定义区块链上动态适配数据结构的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
CN106874440A (zh) * 2017-02-07 2017-06-20 杭州秘猿科技有限公司 一种基于sql数据库的区块链状态存储方法
US20190005469A1 (en) * 2015-07-14 2019-01-03 Fmr Llc Collateral Management With Blockchain and Smart Contracts Apparatuses, Methods and Systems
CN110990879A (zh) * 2019-11-08 2020-04-10 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452776B2 (en) * 2017-07-28 2019-10-22 International Business Machines Corporation Cognitive mediator for generating blockchain smart contracts
CN109542421B (zh) * 2018-11-12 2021-09-07 夸克链科技(深圳)有限公司 一种模块化区块链智能合约
CN110097364A (zh) * 2019-04-30 2019-08-06 翟红鹰 区块链智能合约模块化生成方法、系统、终端及存储介质
CN110348882A (zh) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 基于智能合约的积分方法、系统、装置及设备
CN111506579B (zh) * 2020-05-28 2022-09-20 支付宝(杭州)信息技术有限公司 一种智能合约代码的生成方法、程序及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190005469A1 (en) * 2015-07-14 2019-01-03 Fmr Llc Collateral Management With Blockchain and Smart Contracts Apparatuses, Methods and Systems
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
CN106874440A (zh) * 2017-02-07 2017-06-20 杭州秘猿科技有限公司 一种基于sql数据库的区块链状态存储方法
CN110990879A (zh) * 2019-11-08 2020-04-10 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄洁华等: "众筹区块链上的智能合约设计", 《信息安全研究》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021239074A1 (zh) * 2020-05-28 2021-12-02 支付宝(杭州)信息技术有限公司 一种智能合约代码的生成方法、程序及设备
CN112148280A (zh) * 2020-09-21 2020-12-29 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证业务模板化开发方法
CN112148280B (zh) * 2020-09-21 2022-04-01 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证业务模板化开发方法
CN112148613A (zh) * 2020-09-28 2020-12-29 财付通支付科技有限公司 用于测试区块链服务的智能合约的生成方法及装置
CN113179294A (zh) * 2021-03-15 2021-07-27 华东师范大学 一种基于智能合约的schema统一存取方法
CN113179294B (zh) * 2021-03-15 2023-02-07 华东师范大学 一种基于智能合约的schema统一存取方法
CN114239039A (zh) * 2021-09-30 2022-03-25 西南电子技术研究所(中国电子科技集团公司第十研究所) 一种自定义区块链上动态适配数据结构的方法

Also Published As

Publication number Publication date
CN111506579B (zh) 2022-09-20
WO2021239074A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
CN111506579B (zh) 一种智能合约代码的生成方法、程序及设备
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
CN110046023B (zh) 一种基于区块链智能合约的数据处理方法及系统
CN109933404B (zh) 一种基于区块链智能合约的编解码方法及系统
CN109359118B (zh) 一种数据写入方法及装置
CN110262777B (zh) 一种区块链应用框架
CN111611441B (zh) 异构数据的处理方法、装置以及计算机设备
CN112631590A (zh) 组件库生成方法、装置、电子设备和计算机可读介质
CN112926008A (zh) 生成表单页面的方法、装置、电子设备和存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN112925583B (zh) 宿主应用能力扩展方法、装置、设备以及存储介质
CN111427582B (zh) Rtl代码的管理方法、装置、设备及计算机可读存储介质
CN112561690A (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN112733510A (zh) 一种财务凭证生成方法、装置、设备及计算机可读存储介质
CN113885886A (zh) 活动业务的处理方法、设备、系统及存储介质
CN113485746B (zh) 应用程序接口文档的生成方法及装置
CN109558579A (zh) 一种报表生成方法和装置
CN115580647A (zh) 一种服务调用链路追踪方法、系统及电子设备
CN111240679B (zh) 页面开发方法及系统
CN115114280A (zh) 报表生成处理方法、装置及设备
CN110134843A (zh) 一种目标文件的生成方法以及装置
CN111966709A (zh) 一种数据查询方法、装置及电子设备
CN111858335A (zh) 一种区块链sdk测试方法和装置
CN108304188B (zh) 一种数据类型转换方法及终端
CN117555533B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40034119

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240914

Address after: Room 803, floor 8, No. 618 Wai Road, Huangpu District, Shanghai 200010

Patentee after: Ant blockchain Technology (Shanghai) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China