CN111565173A - 区块链***的智能合约管理方法、装置及硬件设备 - Google Patents
区块链***的智能合约管理方法、装置及硬件设备 Download PDFInfo
- Publication number
- CN111565173A CN111565173A CN202010303863.1A CN202010303863A CN111565173A CN 111565173 A CN111565173 A CN 111565173A CN 202010303863 A CN202010303863 A CN 202010303863A CN 111565173 A CN111565173 A CN 111565173A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- contract
- template
- target
- module
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链***的智能合约管理方法、装置及硬件设备,涉及区块链技术领域,用于减小传输智能合约所需要的网络资源。主要方案为:接收交易方发送的智能合约执行请求;检测预置智能合约模块库中是否存在与合约内容匹配的目标智能合约模板;若存在,则获取目标智能合约模板对应的目标智能合约标识,并查询目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置;将智能合约执行请求的合约参数和目标智能合约模板存储位置发送给验证节点,验证节点根据合约参数和目标智能合约模板存储位置生成合约集合并封装成区块结构;将区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对区块结构内合约集合达成一致。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链***的智能合约管理方法、装置及硬件设备。
背景技术
区块链是一种与传统集中记账方式不同的记录技术,参与到区块链***上的节点,可能不属于同一组织、彼此无须信任;区块链数据由所有节点共同维护,每个参与维护的节点都能获得一份完整记录的拷贝。与传统的记账技术相比,其特点包括:维护一条不断增长的链,只可能添加记录,而发生过的记录不可篡改;无须集中控制而能达成共识等特点。
目前,区块链***在收到智能合约之后,会将智能合约的完整内容广播到区块链***中所有的节点,而将智能合约的内容广播所有的节点,势必需要较高的网络带宽,因此现有的智能合约的管理将需要较高的网络资源。
发明内容
本发明提供一种区块链***的智能合约管理方法、装置及硬件设备,用于减小传输智能合约所需要的网络资源。
本发明实施例提供一种区块链***的智能合约管理方法,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述方法应用于区块链***中的智能合约管理节点,所述方法包括:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识,并查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
所述验证节点将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
本发明实施例提供一种区块链***的智能合约管理装置,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述装置应用于区块链***中的智能合约管理节点,所述装置包括:
接收模块,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测模块,用于检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
获取模块,用于若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识;
查询模块,用于查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
发送模块,用于将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
广播模块,所述验证节点用于将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链***的智能合约管理方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链***的智能合约管理装置。
本发明提供的一种区块链***的智能合约管理方法、装置、计算机设备及存储介质,接收交易方发送的智能合约执行请求,智能合约执行请求中包含合约参数、合约内容;检测预置智能合约模块库中是否存在与合约内容匹配的目标智能合约模板;若存在与合约内容匹配的目标智能合约模板,则获取目标智能合约模板对应的目标智能合约标识,并查询目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置;将智能合约执行请求的合约参数和目标智能合约模板存储位置发送给验证节点和其他验证节点,以使验证节点根据合约参数和目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;验证节点将区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对区块结构内合约集合达成一致。与目前广播智能合约的所有内容到区块链***中的所有节点相比,本发明仅广播智能合约的合约参数和目标智能合约模板存储位置,验证节点根据收到的合约参数和目标智能合约模板存储位置还原成完整的智能合约,从而通过本发明可以减小传输智能合约所需要的网络资源。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中区块链***的智能合约管理方法的一流程图;
图2是本发明一实施例中区块链***的智能合约管理方法的另一流程图;
图3是本发明一实施例中区块链***的智能合约管理装置的一原理框图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1所示,提供一种区块链***的智能合约管理方法,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述方法应用于区块链***中的智能合约管理节点,包括如下步骤:
S10,接收交易方发送的智能合约执行请求。
其中,所述智能合约执行请求中包含合约参数、合约内容,合约内容就是交易双方约定的智能合约的具体内容,合约参数为智能合约中的一些具体参数。例如,合约内容为用户A向用户B的转账交易,合约参数为100元,则说明该智能合约的具体内容为用户A向用户B转账100元。
S20,检测预置智能合约模块库中是否存在与合约内容匹配的目标智能合约模板。
其中,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;智能合约标识用于唯一标识智能合约模板,具体可以连续的数字或是字母表示,合约内容与智能合约模板的匹配,具体可以根据智能合约的类型进行匹配,也可以根据文字内容进行匹配,本发明实施例不做具体限定。
需要说明的是,预置智能合约模块库中存储到智能合约模板可以是预先存储的,即根据常用的智能合约得到的,还可以是实时更新存储的,也可以通过其他区块链***导入的,本发明实施例不做具体限定。
S30A,若预置智能合约模块库中存在与合约内容匹配的目标智能合约模板,则获取目标智能合约模板对应的目标智能合约标识,并查询目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置。
其中,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置,智能合约模板存储位置用于表示智能合约在验证节点中的存储位置,通过该存储位置可查找到对应的智能合约模板。合约位置存放表中的智能合约标识及对应的智能合约模板存储位置,是根据验证节点反馈的智能合约模板存储位置及对应的智能合约标识确定。
本发明实施例中包含多个验证节点,每个验证节点存储多个智能合约模板,每个智能合约模板都对应有智能合约模板存储位置。需要说明的是,多个验证节点中存储的智能合约模板都是相同的,且智能合约模板对应的存储位置可以是相同的,也可以不同的,具体可以根据实际需求进行设定。
S40A,将智能合约执行请求的合约参数和目标智能合约模板存储位置发送给验证节点和其他验证节点,以使验证节点根据合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中。
在本发明实施例中,区块链中的验证节点收到合约参数和目标智能合约模板存储位置之后,根据合约参数和目标智能合约模板存储位置确定完整的智能合约,并将完整的智能合约保存到内存中,等待共识时间的到来。共识时间到来之后,验证节点会把该时间区间内收到的所有合约打包成一个合约集合,并计算该集合集合的哈希值;将合约集合哈希值封装在一个区块结构里,然后广播该区块结构。
具体的,所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合,包括:所述验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合,然后对合约集合进行哈希计算封装在一个区块结构中。
S50A,验证节点将区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对区块结构内合约集合达成一致。
在本发明提供的一个实施例中,所述待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致,包括:所述其他验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合;比对所述其他验证节点的合约集合与所述验证节点的合约集合,并将所述认可的合约集合发送给其他验证节点继续验证,直至在在规定的时间内对所述区块结构内合约集合达成一致。
其他验证节点收到该区块结构后,会分解出该结构里合约集合哈希值,与本验证节点哈希集合下的哈希值做比较;再发送一份本验证节点认可的合约集合给其他节点,通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。
最新达成的合约集合会以区块的形式扩散到全网。每个区块包含以下信息:当前区块的哈希值、前一区块的哈希值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才回最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。
本发明提供的一种区块链***的智能合约管理方法,接收交易方发送的智能合约执行请求,智能合约执行请求中包含合约参数、合约内容;检测预置智能合约模块库中是否存在与合约内容匹配的目标智能合约模板;若存在与合约内容匹配的目标智能合约模板,则获取目标智能合约模板对应的目标智能合约标识,并查询目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置;将智能合约执行请求的合约参数和目标智能合约模板存储位置发送给验证节点和其他验证节点,以使验证节点根据合约参数和目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;验证节点将区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对区块结构内合约集合达成一致。与目前广播智能合约的所有内容到区块链***中的所有节点相比,本发明仅广播智能合约的合约参数和目标智能合约模板存储位置,验证节点根据收到的合约参数和目标智能合约模板存储位置还原成完整的智能合约,从而通过本发明可以减小传输智能合约所需要的网络资源。
如图2所示,在本发明提供的一个实施例中,在检测预置智能合约模块库中是否存在与所述合约内容对应的目标智能合约模板之后,所述方法还包括:
S30B,若预置智能合约模块库中不存在与合约内容对应的目标智能合约模板,则根据合约内容生成智能合约模板,并确定生成的智能合约模板对应的智能合约标识。
其中,步骤S30B是步骤S30A的并列步骤,若预置智能合约模块库中不存在与合约内容对应的目标智能合约模板,则根据合约内容生成智能合约模板,并确定生成的智能合约模板对应的智能合约标识。具体的,从合约内容提取智能合约模板,即将合约内容的参数去掉组成智能合约模板。
S40B,将生成的智能合约模板及其对应的智能合约标识存储到预置智能合约模块库中;并将生成的智能合约模板发送给所有的验证节点。
在本发明实施例中,将生成的智能合约模板发送给所有的验证节点,以便于验证节点存储该生成的智能合约模板,以实现在后续步骤中根据该智能合约模板和合约参数得到完整的智能合约。
S50B,接收验证节点反馈的生成的智能合约模板所对应的智能合约模板存储位置。
S60B,将生成的智能合约模板的智能合约标识及其对应的智能合约模板存储位置对应存储到合约位置存放表中。
对于本发明实施例,验证节点存储该生成的智能合约模板之后,返回该生成的智能合约模板所对应的智能合约模板存储位置,以便于将生成的智能合约模板的智能合约标识及其对应的智能合约模板存储位置对应存储到合约位置存放表中。
在本发明提供的一个实施例中,所述方法还包括:按照预置时间间隔确定所述预置智能合约模块库中匹配率排在末尾的智能合约模板;将所述排在末尾的智能合约模板及对应的智能合约标识从所述预置智能合约模块库中删除;将所述排在末尾的智能合约模板的智能合约标识及对应的智能合约模板存储位置从所述合约位置存放表中删除;向所有的验证节点发送智能合约删除指令,所述智能合约删除指令中包含所述排在末尾的智能合约模板的智能合约模板存储位置,以使所有的验证节点删除所述智能合约模板存储位置对应的智能合约模板。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明提供的一实施例中,提供一种区块链***的智能合约管理装置,该区块链***的智能合约管理装置与上述实施例中区块链***的智能合约管理方法一一对应。如图3所示,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述装置应用于区块链***中的智能合约管理节点,该区块链***的智能合约管理装置包括:接收模块10、检测模块20、获取模块30、查询模块40、发送模块50、广播模块60。各功能模块详细说明如下:
接收模块10,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测模块20,用于检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
获取模块30,用于若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识;
查询模块40,用于查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
发送模块50,用于将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
广播模块60,所述验证节点用于将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
进一步的,所述装置还包括:
生成模块70,用于若所述预置智能合约模块库中不存在与所述合约内容匹配的目标智能合约模板,则根据所述合约内容生成智能合约模板,并确定生成的智能合约模板对应的智能合约标识;
存储模块80,用于将生成的智能合约模板及其对应的智能合约标识存储到所述预置智能合约模块库中;
所述发送模块50,还用于将所述生成的智能合约模板发送给所有的验证节点;
所述接收模块10,还用于接收所述验证节点反馈的生成的智能合约模板所对应的智能合约模板存储位置;
所述存储模块80,还用于将所述生成的智能合约模板的智能合约标识及其对应的智能合约模板存储位置对应存储到所述合约位置存放表中。
进一步的,所述装置还包括:
确定模块90,用于按照预置时间间隔确定所述预置智能合约模块库中匹配率排在末尾的智能合约模板;
删除模块11,用于将所述排在末尾的智能合约模板及对应的智能合约标识从所述预置智能合约模块库中删除;将所述排在末尾的智能合约模板的智能合约标识及对应的智能合约模板存储位置从所述合约位置存放表中删除;
所述发送模块50,还用于向所有的验证节点发送智能合约删除指令,所述智能合约删除指令中包含所述排在末尾的智能合约模板的智能合约模板存储位置,以使所有的验证节点删除所述智能合约模板存储位置对应的智能合约模板。
所述获取模块30,所述验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;
打包模块,用于待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合。
所述获取模块30,所述其他验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;
打包模块,还用于待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合;
发送模块50,用于比对所述其他验证节点的合约集合与所述验证节点的合约集合,并将所述认可的合约集合发送给其他验证节点继续验证,直至在在规定的时间内对所述区块结构内合约集合达成一致。
关于区块链***的智能合约管理装置的具体限定可以参见上文中对于区块链***的智能合约管理方法的限定,在此不再赘述。上述区块链***的智能合约管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链***的智能合约管理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识,并查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
所述验证节点将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识,并查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
所述验证节点将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种区块链***的智能合约管理方法,其特征在于,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述方法应用于区块链***中的智能合约管理节点,所述方法包括:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识,并查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
所述验证节点将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
2.根据权利要求1所述的区块链***的智能合约管理方法,其特征在于,所述检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板之后,所述方法还包括:
若所述预置智能合约模块库中不存在与所述合约内容匹配的目标智能合约模板,则根据所述合约内容生成智能合约模板,并确定生成的智能合约模板对应的智能合约标识;
将生成的智能合约模板及其对应的智能合约标识存储到所述预置智能合约模块库中;并将所述生成的智能合约模板发送给所有的验证节点;
接收所述验证节点反馈的生成的智能合约模板所对应的智能合约模板存储位置;
将所述生成的智能合约模板的智能合约标识及其对应的智能合约模板存储位置对应存储到所述合约位置存放表中。
3.根据权利要求1所述的区块链***的智能合约管理方法,其特征在于,所述方法还包括:
按照预置时间间隔确定所述预置智能合约模块库中匹配率排在末尾的智能合约模板;
将所述排在末尾的智能合约模板及对应的智能合约标识从所述预置智能合约模块库中删除;
将所述排在末尾的智能合约模板的智能合约标识及对应的智能合约模板存储位置从所述合约位置存放表中删除;
向所有的验证节点发送智能合约删除指令,所述智能合约删除指令中包含所述排在末尾的智能合约模板的智能合约模板存储位置,以使所有的验证节点删除所述智能合约模板存储位置对应的智能合约模板。
4.根据权利要求2所述的区块链***的智能合约管理方法,其特征在于,所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合,包括:
所述验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;
待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合。
5.根据权利要求4所述的区块链***的智能合约管理方法,其特征在于,所述待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致,包括:
所述其他验证节点根据所述目标智能合约模板存储位置获取所述目标智能合约模板,并将所述合约参数代入所述目标智能合约模板中得到完整的智能合约;
待共识时间到到来之后,将所述完整的智能合约进行打包生成所述合约集合;
比对所述其他验证节点的合约集合与所述验证节点的合约集合,并将所述认可的合约集合发送给其他验证节点继续验证,直至在在规定的时间内对所述区块结构内合约集合达成一致。
6.一种区块链***的智能合约管理装置,其特征在于,所述区块链***包括智能合约管理节点、验证节点、其他验证节点,所述装置应用于区块链***中的智能合约管理节点,所述装置包括:
接收模块,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含合约参数、合约内容;
检测模块,用于检测预置智能合约模块库中是否存在与所述合约内容匹配的目标智能合约模板,所述预置智能合约模块库中存储不同类型的智能合约模板及分别对应的智能合约标识;
获取模块,用于若所述预置智能合约模块库中存在与所述合约内容匹配的目标智能合约模板,则获取所述目标智能合约模板对应的目标智能合约标识;
查询模块,用于查询所述目标智能合约标识在合约位置存放表中对应的目标智能合约模板存储位置,所述合约位置存放表中存储有多个智能合约标识分别对应的智能合约模板存储位置;
发送模块,用于将所述智能合约执行请求的合约参数和所述目标智能合约模板存储位置发送给所述验证节点和其他验证节点,以使所述验证节点根据所述合约参数和所述目标智能合约模板存储位置生成合约集合;并对合约集合进行哈希计算封装在一个区块结构中;
广播模块,所述验证节点用于将所述区块结构广播给其他验证节点,待所有验证节点最终在规定的时间内对所述区块结构内合约集合达成一致。
7.根据权利要求6所述的区块链***的智能合约管理装置,其特征在于,所述装置还包括:
生成模块,用于若所述预置智能合约模块库中不存在与所述合约内容匹配的目标智能合约模板,则根据所述合约内容生成智能合约模板,并确定生成的智能合约模板对应的智能合约标识;
存储模块,用于将生成的智能合约模板及其对应的智能合约标识存储到所述预置智能合约模块库中;
所述发送模块,还用于将所述生成的智能合约模板发送给所有的验证节点;
所述接收模块,还用于接收所述验证节点反馈的生成的智能合约模板所对应的智能合约模板存储位置;
所述存储模块,还用于将所述生成的智能合约模板的智能合约标识及其对应的智能合约模板存储位置对应存储到所述合约位置存放表中。
8.根据权利要求6所述的区块链***的智能合约管理装置,其特征在于,所述装置还包括:
确定模块,用于按照预置时间间隔确定所述预置智能合约模块库中匹配率排在末尾的智能合约模板;
删除模块,用于将所述排在末尾的智能合约模板及对应的智能合约标识从所述预置智能合约模块库中删除;将所述排在末尾的智能合约模板的智能合约标识及对应的智能合约模板存储位置从所述合约位置存放表中删除;
所述发送模块,还用于向所有的验证节点发送智能合约删除指令,所述智能合约删除指令中包含所述排在末尾的智能合约模板的智能合约模板存储位置,以使所有的验证节点删除所述智能合约模板存储位置对应的智能合约模板。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述区块链***的智能合约管理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述区块链***的智能合约管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303863.1A CN111565173A (zh) | 2020-04-12 | 2020-04-12 | 区块链***的智能合约管理方法、装置及硬件设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303863.1A CN111565173A (zh) | 2020-04-12 | 2020-04-12 | 区块链***的智能合约管理方法、装置及硬件设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111565173A true CN111565173A (zh) | 2020-08-21 |
Family
ID=72071655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010303863.1A Pending CN111565173A (zh) | 2020-04-12 | 2020-04-12 | 区块链***的智能合约管理方法、装置及硬件设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111565173A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112714157A (zh) * | 2020-12-18 | 2021-04-27 | 成都质数斯达克科技有限公司 | 资产合约的发布方法、装置、电子设备及可读存储介质 |
CN113222757A (zh) * | 2021-05-06 | 2021-08-06 | 永旗(北京)科技有限公司 | 一种区块链智能合约管理方法及*** |
-
2020
- 2020-04-12 CN CN202010303863.1A patent/CN111565173A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112714157A (zh) * | 2020-12-18 | 2021-04-27 | 成都质数斯达克科技有限公司 | 资产合约的发布方法、装置、电子设备及可读存储介质 |
CN112714157B (zh) * | 2020-12-18 | 2022-11-11 | 成都质数斯达克科技有限公司 | 资产合约的发布方法、装置、电子设备及可读存储介质 |
CN113222757A (zh) * | 2021-05-06 | 2021-08-06 | 永旗(北京)科技有限公司 | 一种区块链智能合约管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
US11935015B2 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
US20220004334A1 (en) | Data Storage Method, Apparatus and System, and Server, Control Node and Medium | |
CN111612614A (zh) | 一种基于公链的子链业务*** | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN109460252B (zh) | 基于git的配置文件处理方法、装置和计算机设备 | |
CN111026767A (zh) | 区块链的数据存储方法、装置及硬件设备 | |
CN111565173A (zh) | 区块链***的智能合约管理方法、装置及硬件设备 | |
CN111628886A (zh) | 私有云环境下组建区块链网络的方法、装置、计算机设备 | |
CN112463882A (zh) | 数据同步方法及云平台、边缘端 | |
CN110602165A (zh) | 政务数据同步方法、装置、***、计算机设备和存储介质 | |
CN110599267A (zh) | 电子***开票方法、装置、计算机可读存储介质和计算机设备 | |
CN112632375A (zh) | 会话信息处理方法、服务器及存储介质 | |
CN110598452B (zh) | 基于区块链的证据信息处理方法、装置、存储介质和设备 | |
CN110673966A (zh) | 一种基于区块链链上-链下协同的数据交互方法 | |
CN115841285A (zh) | 基于区块链的商品物流追溯方法及*** | |
CN113239056B (zh) | 基于区块链的数据核对方法及*** | |
CN111524009A (zh) | 区块链***的交易验证方法、装置及硬件设备 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
CN111552989A (zh) | 基于区块链的业务数据处理方法、装置、设备和存储介质 | |
CN111522881A (zh) | 业务数据处理方法、装置、服务器及存储介质 | |
CN115392927A (zh) | 基于区块链的数据追溯***以及数据追溯方法 | |
CN113010600B (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 |