一种跨链消息传输方法、设备及储存介质技术

技术编号:31167185 阅读:23 留言:0更新日期:2021-12-04 12:35
本发明专利技术属于计算机技术领域,尤其涉及跨链消息传输方法、设备及储存介质。本发明专利技术提供的方法在区块链网络中发布跨链函数库,所有跨链业务合约都可以通过调用使其发布时包括跨链函数库,并且在中继设备中注册跨链业务合约,从而可通过调用跨链业务合约中的跨链函数实现对业务合约中的跨链消息的跨链发送,而不需要在一个合约中跨合约调用另一个专门用于跨链发送或接收消息的合约,使得简化了调用跨链业务合约的交易的执行过程,节约、减少了交易执行时间,提高了区块链的效率。另一方面,发送请求生成时确定了区块高度,使得查询函数查询时高度锁定,避免了消息队列的位置信息由于消息的处理而变得不准确。息的处理而变得不准确。息的处理而变得不准确。

【技术实现步骤摘要】
一种跨链消息传输方法、设备及储存介质


[0001]本专利技术属于计算机
,尤其涉及一种跨链消息传输方法、设备及储存 介质。

技术介绍

[0002]区块链技术是一种分布式账本技术,可以将交易数据存储在不可篡改的区块 中,并将区块按照时间顺序串连形成区块链。狭义来讲,区块链是一种按照时间 顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式 保证的不可篡改和不可伪造的分布式账本;广义来讲,区块链技术是利用块链式 数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用 密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合 约来编程和操作数据的一种全新的分布式基础架构与计算方式。
[0003]智能合约,Smart Contract,是一种旨在以信息化方式传播、验证或执行合同 的计算机协议。区块链领域的智能合约有以下特点:1、规则公开透明,合约内 的规则以及数据对外部可见;2、所有交易公开可见,不会存在任何虚假或者隐 藏的交易。所以我们常说区块链技术具有“公开透明”“不可篡改”的特点,这 些其实都是智能合约赋予区块链的。程序员的世界里一致有个认知:相较于程序 和机器,人更加不可控。人会作恶,但是代码并不会主观主动作恶。而传统的契 约行为,都是由人来制定规则,由人去执行。当然,遇到边界问题或者异常,也 是由人去做界定。但有了智能合约之后,这些就变得不一样了。开发者通过智能 合约去制定一套规则,然后发布到线上,人与智能合约进行交互,由机器去完成 业务的部分,这样就规避了由人来做执行时可能造成的作弊行为。
[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为本专利技术实施例2的一种计算机设备的结构示意图。
具体实施方式
[0028]以下结合具体实施例和说明书附图对本专利技术作出进一步清楚详细的描述说 明。本领域普通技术人员在基于这些说明的情况下将能够实现本专利技术。此外,下 述说明中涉及到的本专利技术的实施例通常仅是本专利技术一部分的实施例,而不是全部 的实施例。因此,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造 性劳动的前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。如无 特殊说明,本专利技术实施例所简述的方法均为本领域技术人员所掌握的方法。
[0029]实施例1
[0030]本实施例提供一种跨链消息传输方法,包括以下内容:
[0031]所述跨链消息传输方法的角色包括:第一区块链、第一区块链节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨链消息传输方法,其特征在于,包括以下内容:所述跨链消息传输方法的角色包括:第一区块链、第一区块链节点、中继设备、第二区块链、第二区块链节点、跨链函数库;第一区块链节点为第一区块链上的节点设备,第二区块链节点为第二区块链上的节点设备,所述第一区块链部署有第一合约,第二区块链部署有第二合约,所述中继设备预先部署有所述第一合约和第二合约,所述第一合约用于发送跨链消息,所述第二合约用于接收跨链消息,所述第一合约和第二合约均包含跨链函数库;所述跨链函数库为用于在区块链之间传递跨链消息的多个函数的集合,所述跨链函数库发布在至少包括第一区块链和第二区块链的区块链网络中;所述方法包括:用户发送第一交易至第一区块链,所述第一交易用于生成第一跨链消息和发送请求;所述第一区块链节点从所述第一区块链中获取所述第一交易并执行,以使所述第一交易生成第一跨链消息,并通过第一合约调用跨链函数库内的发送函数,将所述第一跨链消息提供给所述发送函数,以使发送函数在所述第一合约对应的合约账户的消息队列中记录第一跨链消息,同时所述第一区块链节点通过执行所述第一交易生成所述第一交易的交易凭证和发送请求,所述第一交易的交易凭证包括第一跨链消息,第一区块链节点向第一区块链发送所述第一交易的交易凭证和发送请求;中继设备获取发送请求,响应于发送请求向第一区块链发送第二交易,所述第二交易基于发送请求生成,所述第二交易包括通过...

【专利技术属性】
技术研发人员:应秋敏何正军王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:

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

1