智能合约的跨链调用方法及装置制造方法及图纸

技术编号:37601749 阅读:19 留言:0更新日期:2023-05-18 11:52
本说明书一个或多个实施例提供一种智能合约的跨链调用方法及装置,应用于由若干成员区块链构成的区块链服务网络中的任一目标成员区块链中的节点设备;所述方法包括:获取合约调用方针对部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑的调用数据;响应于所述调用数据,调用所述目标成员区块链上部署的系统智能合约包含的标识生成逻辑,生成与所述调用数据对应的全局链路标识,并调用所述系统智能合约包含的跨链调用逻辑,基于所述全局链路标识,发起针对所述其它成员区块链上部署的所述用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上。结果关联存储在所述其它成员区块链上。结果关联存储在所述其它成员区块链上。

【技术实现步骤摘要】
智能合约的跨链调用方法及装置


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种智能合约的跨链调用方法及装置。

技术介绍

[0002]随着区块链技术的发展,越来越多的区块链建立起来,然而这些区块链大部分都是独立的,相互之间无法联通。因此,在实际应用中,为了充分利用各个区块链上部署的服务资源,可以将这些区块链作为成员区块链组建成一个能够相互联通的区块链服务网络,并将各个成员区块链上部署的智能合约所包含的合约执行逻辑,通过该区块链服务网络的管理平台,以用户服务的形式开放给用户,供用户进行调用。然而,在这种多链跨链联通的情况下,用户与用户服务之间实际上是割裂的,即彼此无法感知到对方在相应的区块链上所执行的数据处理,也就无法实现互信。

技术实现思路

[0003]本说明书一个或多个实施例提供技术方案如下:
[0004]本说明书提供一种智能合约的跨链调用方法,所述方法应用于由若干成员区块链构成的区块链服务网络中的任一目标成员区块链中的节点设备;其中,所述区块链网络中的各成员区块链上部署了用户智能合约和系统智能合约;所述系统智能合约包含与所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑对应的跨链调用逻辑;
[0005]所述方法包括:
[0006]获取合约调用方针对部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑的调用数据;
[0007]响应于所述调用数据,调用所述目标成员区块链上部署的系统智能合约包含的标识生成逻辑,生成与所述调用数据对应的全局链路标识,并调用所述系统智能合约包含的跨链调用逻辑,基于所述全局链路标识,发起针对所述其它成员区块链上部署的所述用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上。
[0008]本说明书还提供一种智能合约的跨链调用追踪方法,所述方法应用于接入由若干成员区块链构成的区块链服务网络的链下服务端;其中,所述区块链网络中的各成员区块链上部署了用户智能合约和系统智能合约;所述系统智能合约包含与所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑对应的跨链调用逻辑;所述跨链调用逻辑用于基于全局链路标识发起针对其它成员区块链上部署的用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上;
[0009]所述方法包括:
[0010]获取针对所述区块链网络中的各成员区块链上存储的合约执行结果的查询请求;其中,所述查询请求包括全局链路标识;
[0011]基于所述查询请求中的所述全局链路标识,从所述区块链网络中的各成员区块链上获取与所述全局链路标识关联的合约执行结果。
[0012]本说明书还提供一种智能合约的跨链调用装置,所述装置应用于由若干成员区块链构成的区块链服务网络中的任一目标成员区块链中的节点设备;其中,所述区块链网络中的各成员区块链上部署了用户智能合约和系统智能合约;所述系统智能合约包含与所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑对应的跨链调用逻辑;
[0013]所述装置包括:
[0014]获取模块,获取合约调用方针对部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑的调用数据;
[0015]调用模块,响应于所述调用数据,调用所述目标成员区块链上部署的系统智能合约包含的标识生成逻辑,生成与所述调用数据对应的全局链路标识,并调用所述系统智能合约包含的跨链调用逻辑,基于所述全局链路标识,发起针对所述其它成员区块链上部署的所述用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上。
[0016]本说明书还提供一种智能合约的跨链调用追踪装置,所述装置应用于接入由若干成员区块链构成的区块链服务网络的链下服务端;其中,所述区块链网络中的各成员区块链上部署了用户智能合约和系统智能合约;所述系统智能合约包含与所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑对应的跨链调用逻辑;所述跨链调用逻辑用于基于全局链路标识发起针对其它成员区块链上部署的用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上;
[0017]所述装置包括:
[0018]获取模块,获取针对所述区块链网络中的各成员区块链上存储的合约执行结果的查询请求;其中,所述查询请求包括全局链路标识;
[0019]查询模块,基于所述查询请求中的所述全局链路标识,从所述区块链网络中的各成员区块链上获取与所述全局链路标识关联的合约执行结果。
[0020]本说明书还提供一种电子设备,包括:
[0021]处理器;
[0022]用于存储处理器可执行指令的存储器;
[0023]其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
[0024]本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
[0025]在上述技术方案中,合约调用方可以通过调用系统智能合约,由该系统智能合约生成与本次调用对应的全局链路标识,并基于该全局链路标识,发起针对其它成员区块链上部署的用户智能合约的跨链调用,以由该其它成员区块链上部署的该用户智能合约将该
全局链路标识与该用户智能合约的合约执行结果关联存储在该其它成员区块链上。
[0026]采用上述方式,可以在多链跨链联通的情况下,通过全局链路标识,将区块链服务网络中的所有成员区块链上存储的与该全局链路标识关联的数据聚合起来,由此可以使合约调用方与所调用的用户智能合约可以感知到对方在相应的区块链上所执行的数据处理,从而实现互信。
附图说明
[0027]图1是本说明书一示例性实施例示出的一种区块链服务网络的网络架构图。
[0028]图2是本说明书一示例性实施例示出的一种区块链服务网络的组建方法的流程图。
[0029]图3是本说明书一示例性实施例示出的一种对目标区块链进行注册处理的流程图。
[0030]图4是本说明书一示例性实施例示出的一种为用户服务设置服务接口,并为服务接口绑定合约执行逻辑的方式示意图。
[0031]图5是本说明书一示例性实施例示出的一种服务的使用注册方法的流程图。
[0032]图6是本说明书一示例性实施例示出的一种智能合约的跨链调用方法的流程图。
[0033]图7是本说明书一示例性实施例示出的一种智能合约的跨链调用追踪方法的流程图。
[0034]图8是本说明书一示例性实施例示出的一种智能合约的跨链调用装置所在电子设备的硬件结构图。
[0035]图9是本说明书一示例性实施例示出的一种智能合约的跨链调用装置的框图。
[0036]图10是本说明书本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能合约的跨链调用方法,所述方法应用于由若干成员区块链构成的区块链服务网络中的任一目标成员区块链中的节点设备;其中,所述区块链网络中的各成员区块链上部署了用户智能合约和系统智能合约;所述系统智能合约包含与所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑对应的跨链调用逻辑;所述方法包括:获取合约调用方针对部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑的调用数据;响应于所述调用数据,调用所述目标成员区块链上部署的系统智能合约包含的标识生成逻辑,生成与所述调用数据对应的全局链路标识,并调用所述系统智能合约包含的跨链调用逻辑,基于所述全局链路标识,发起针对所述其它成员区块链上部署的所述用户智能合约的跨链调用,以将所述全局链路标识与所述用户智能合约的合约执行结果关联存储在所述其它成员区块链上。2.根据权利要求1所述的方法,所述区块链服务网络中的至少部分成员区块链上部署的用户智能合约所包含的合约执行逻辑,以用户服务的形式开放调用;所述系统智能合约包含与所述用户服务对应的跨链调用逻辑;所述获取合约调用方针对部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑的调用数据,包括:获取合约调用方针对所述用户服务的调用数据;其中,所述用户服务的服务接口绑定了部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑;所述基于所述全局链路标识,发起针对所述其它成员区块链上部署的所述用户智能合约的跨链调用,包括:从与所述服务接口绑定的合约执行逻辑中,为所述合约调用方确定目标合约执行逻辑,并基于所述全局链路标识,发起针对所述其它成员区块链上部署的包含所述目标合约执行逻辑的用户智能合约的跨链调用。3.根据权利要求2所述的方法,所述用户服务包括由部署在所述区块链服务网络中的至少部分成员区块链上的用户智能合约所包含的多个合约执行逻辑组合生成的服务;所述用户服务包括多个服务接口;其中,不同的服务接口分别对应不同的服务功能;所述多个服务接口中的至少部分服务接口绑定了具有相同的服务功能的多个合约执行逻辑。4.根据权利要求1所述的方法,所述合约调用方包括作为合约调用方的用户;所述调用数据包括由所述用户提交的针对所述系统智能合约的智能合约调用交易;所述全局链路标识为与所述智能合约调用交易对应的全局链路标识。5.根据权利要求1所述的方法,所述合约调用方包括所述目标成员区块链上部署的用户智能合约;所述用户智能合约所包含的合约执行逻辑引用了部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑;所述调用数据包括在调用所述用户智能合约包含的所述合约执行逻辑时,由所述用户智能合约生成的针对所述系统智能合约的调用消息;所述全局链路标识为与由用户提交的针对所述用户智能合约的智能合约调用交易对应的全局链路标识。6.根据权利要求4或5所述的方法,所述生成与所述调用数据对应的全局链路标识,包
括:获取所述智能合约调用交易的hash值,并获取所述区块链服务网络维护的序号;其中,所述序号包括全局递增的数值;对所述序号进行更新,并对所述hash值和更新后的所述序号进行拼接处理,得到全局链路标识。7.根据权利要求6所述的方法,所述对所述序号进行更新,并对所述hash值和更新后的所述序号进行拼接处理,得到全局链路标识,包括:确定所述序号是否达到预设阈值;如果是,将所述序号重置为初始值,并对所述hash值和重置后的所述...

【专利技术属性】
技术研发人员:黄胜刘勤
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1