一种多版本智能合约的调用方法、系统及存储介质技术方案

技术编号:38835735 阅读:18 留言:0更新日期:2023-09-17 09:52
本申请公开了一种多版本智能合约的调用方法、系统及存储介质。方法包括:合约调用人员确定待应用逻辑合约的合约定位信息,并将待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,待应用逻辑合约用于执行待完成业务的智能合约;代理合约用于调用逻辑合约;待应用逻辑合约的合约定位信息包括:待应用逻辑合约合约标识及待应用逻辑合约版本号;基于合约定位信息,代理合约确定对应的待应用逻辑合约的待应用合约地址,并基于待应用合约地址调用待应用逻辑合约;待应用逻辑合约执行待完成业务,并将执行结果返回给代理合约,以使代理合约将执行结果返回给合约调用人员。本申请通过上述方法实现了在区块链中实现对多版本智能合约的灵活调用。能合约的灵活调用。能合约的灵活调用。

【技术实现步骤摘要】
一种多版本智能合约的调用方法、系统及存储介质


[0001]本申请涉及区块链
,尤其涉及一种多版本智能合约的调用方法、系统及存储介质。

技术介绍

[0002]区块链是利用块链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约,编程和操作数据的全新的分布式基础架构与计算范式。
[0003]由于区块链具有不可篡改性,智能合约部部署后并不能进行修改。但由于业务变化或修复漏洞的需要,有对智能合约修改的要求,但有时候又需要使用旧版本的智能合约。因此,如何在区块链中实现对多版本智能合约的灵活调用成为亟待解决的技术问题。

技术实现思路

[0004]本申请实施例提供了一种多版本智能合约的调用方法、系统及存储介质,用以解决如下技术问题:如何在区块链中实现对多版本智能合约的灵活调用。
[0005]第一方面,本申请实施例提供了一种多版本智能合约的调用方法,其特征在于,方法包括:合约调用人员确定待应用逻辑合约的合约定位信息,并将待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,待应用逻辑合约用于执行待完成业务的智能合约;代理合约用于调用逻辑合约;待应用逻辑合约的合约定位信息包括:待应用逻辑合约合约标识及待应用逻辑合约版本号;基于合约定位信息,代理合约确定对应的待应用逻辑合约的待应用合约地址,并基于待应用合约地址调用待应用逻辑合约;待应用逻辑合约执行待完成业务,并将执行结果返回给代理合约,以使代理合约将执行结果返回给合约调用人员。
[0006]在本申请的一种实现方式中,在合约调用人员确定待应用逻辑合约的合约定位信息,并将合约定位信息发送到预设的代理合约之前,方法还包括:在区块链上部署逻辑合约,并接收逻辑合约返回的逻辑合约地址;在区块链上部署管理合约;其中,管理合约用于修改代理合约中可调用的逻辑合约信息;逻辑合约信息包括逻辑合约的合约定位信息及逻辑合约地址;将逻辑合约信息发送至管理合约。
[0007]在本申请的一种实现方式中,在将逻辑合约信息发送至管理合约之后,方法还包括:在区块链上部署代理合约,并接收代理合约返回的代理合约地址;管理合约基于代理合约地址连接代理合约,并基于逻辑合约信息,在代理合约中配置调用关系,以使代理合约能够调用对应的逻辑合约。
[0008]在本申请的一种实现方式中,在基于逻辑合约信息,在代理合约中配置调用关系之后,方法还包括:基于预设的管理需求,在区块链中确定管理合约的操作管理员节点;管理合约为操作管理员节点配置管理员权限,以使操作管理员节点能够通过管理合约修改代理合约。
[0009]在本申请的一种实现方式中,在管理合约为操作管理员节点配置管理员权限之
后,方法还包括:在操作管理员节点需要对代理合约进行修改的情况下,操作管理员节点基于修改需求,生成修改指令发送到管理合约;管理合约基于预设的权限校验算法,对操作管理员节点的管理员权限进行验证,并在验证通过的情况下,执行修改指令。
[0010]第二方面,本申请实施例还提供了一种多版本智能合约的调用系统,其特征在于,系统包括:信息确定模块、调用模块、执行模块;信息确定模块,用于合约调用人员确定待应用逻辑合约的合约定位信息,并将待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,待应用逻辑合约用于执行待完成业务的智能合约;代理合约用于调用逻辑合约;待应用逻辑合约的合约定位信息包括:待应用逻辑合约合约标识及待应用逻辑合约版本号;调用模块,用于基于合约定位信息,代理合约确定对应的待应用逻辑合约的待应用合约地址,并基于待应用合约地址调用待应用逻辑合约;执行模块,用于待应用逻辑合约执行待完成业务,并将执行结果返回给代理合约,以使代理合约将执行结果返回给合约调用人员。
[0011]在本申请的一种实现方式中,系统还包括:部署模块;部署模块,用于在区块链上部署逻辑合约,并接收逻辑合约返回的逻辑合约地址;在区块链上部署管理合约;其中,管理合约用于修改代理合约中可调用的逻辑合约信息;逻辑合约信息包括逻辑合约的合约定位信息及逻辑合约地址;将逻辑合约信息发送至管理合约。
[0012]在本申请的一种实现方式中,系统还包括:部署模块,还用于在区块链上部署代理合约,并接收代理合约返回的代理合约地址;管理合约基于代理合约地址连接代理合约,并基于逻辑合约信息,在代理合约中配置调用关系,以使代理合约能够调用对应的逻辑合约。
[0013]在本申请的一种实现方式中,系统还包括:权限处理模块;权限处理模块,用于基于预设的管理需求,在区块链中确定管理合约的操作管理员节点;管理合约为操作管理员节点配置管理员权限,以使操作管理员节点能够通过管理合约修改代理合约;权限处理模块,还用于在操作管理员节点需要对代理合约进行修改的情况下,操作管理员节点基于修改需求,生成修改指令发送到管理合约;管理合约基于预设的权限校验算法,对操作管理员节点的管理员权限进行验证,并在验证通过的情况下,执行修改指令。
[0014]第三方面,本申请实施例还提供了一种多版本智能合约的调用的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,计算机可执行指令设置为:合约调用人员确定待应用逻辑合约的合约定位信息,并将待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,待应用逻辑合约用于执行待完成业务的智能合约;代理合约用于调用逻辑合约;待应用逻辑合约的合约定位信息包括:待应用逻辑合约合约标识及待应用逻辑合约版本号;基于合约定位信息,代理合约确定对应的待应用逻辑合约的待应用合约地址,并基于待应用合约地址调用待应用逻辑合约;待应用逻辑合约执行待完成业务,并将执行结果返回给代理合约,以使代理合约将执行结果返回给合约调用人员。
[0015]本申请实施例提供的一种多版本智能合约的调用方法、系统及存储介质,通过将一般智能合约拆分成逻辑智能合约和代理智能合约两部分,通过管理合约对代理合约的调整,实现用户无感的多版本控制,克服了一般智能合约上链即固定、无法升级修改的缺陷。
附图说明
[0016]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0017]图1为本申请实施例提供的一种多版本智能合约的调用方法流程图;
[0018]图2为本申请实施例提供的一种多版本智能合约的调用系统内部结构示意图。
具体实施方式
[0019]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020]本申请实施例提供了一种多版本智能合约的调用方法、系统及存储介质,用以解决如下技术问题:如何在区块链中实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多版本智能合约的调用方法,其特征在于,所述方法包括:合约调用人员确定待应用逻辑合约的合约定位信息,并将所述待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,所述待应用逻辑合约用于执行待完成业务的智能合约;所述代理合约用于调用逻辑合约;所述待应用逻辑合约的合约定位信息包括:待应用逻辑合约合约标识及待应用逻辑合约版本号;基于所述合约定位信息,所述代理合约确定对应的待应用逻辑合约的待应用合约地址,并基于所述待应用合约地址调用所述待应用逻辑合约;所述待应用逻辑合约执行待完成业务,并将执行结果返回给所述代理合约,以使所述代理合约将所述执行结果返回给合约调用人员。2.根据权利要求1所述的一种多版本智能合约的调用方法,其特征在于,在合约调用人员确定待应用逻辑合约的合约定位信息,并将所述合约定位信息发送到预设的代理合约之前,所述方法还包括:在区块链上部署逻辑合约,并接收所述逻辑合约返回的逻辑合约地址;在区块链上部署管理合约;其中,所述管理合约用于修改代理合约中可调用的逻辑合约信息;所述逻辑合约信息包括所述逻辑合约的合约定位信息及所述逻辑合约地址;将所述逻辑合约信息发送至所述管理合约。3.根据权利要求2所述的一种多版本智能合约的调用方法,其特征在于,在将所述逻辑合约信息发送至所述管理合约之后,所述方法还包括:在区块链上部署所述代理合约,并接收所述代理合约返回的代理合约地址;所述管理合约基于所述代理合约地址连接所述代理合约,并基于所述逻辑合约信息,在所述代理合约中配置调用关系,以使所述代理合约能够调用对应的逻辑合约。4.根据权利要求3所述的一种多版本智能合约的调用方法,其特征在于,在基于所述逻辑合约信息,在所述代理合约中配置调用关系之后,所述方法还包括:基于预设的管理需求,在所述区块链中确定所述管理合约的操作管理员节点;所述管理合约为所述操作管理员节点配置管理员权限,以使所述操作管理员节点能够通过所述管理合约修改所述代理合约。5.根据权利要求4所述的一种多版本智能合约的调用方法,其特征在于,在所述管理合约为所述操作管理员节点配置管理员权限之后,所述方法还包括:在所述操作管理员节点需要对所述代理合约进行修改的情况下,所述操作管理员节点基于修改需求,生成修改指令发送到所述管理合约;所述管理合约基于预设的权限校验算法,对所述操作管理员节点的管理员权限进行验证,并在验证通过的情况下,执行所述修改指令。6.一种多版本智能合约的调用系统,其特征在于,所述系统包括:信息确定模块、调用模块、执行模块;所述信息确定模块,用于合约调用人员确定待应用逻辑合约的合约定位信息,并将所述待应用逻辑合约的合约定位信息发送到预设的代理合约;其中,所述待应用逻辑合约用于执行待完成业务的...

【专利技术属性】
技术研发人员:宁志远肖雪商广勇李程
申请(专利权)人:浪潮云洲山东工业互联网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1