【技术实现步骤摘要】
跨链交易组执行方法、计算机设备和存储介质
[0001]本申请涉及区块链
,具体涉及一种跨链交易组执行方法、计算机设备和存储介质。
技术介绍
[0002]假设有主链交易tx1和平行链交易tx2,tx1是主链交易,tx2是pc1的是平行链交易;由于tx1由主链节点先执行,tx2由pc1的平行链节点后执行;如果tx2执行失败了,tx1需要回滚。但如果tx1和tx2在一个交易组中,tx1已经执行成功了,没有办法回滚;因此,tx1和tx2不能放到同一个交易组中。
技术实现思路
[0003]鉴于现有技术中的上述缺陷或不足,期望提供一种以交易组形式实现主链和平行链的跨链操作的跨链交易组执行方法、计算机设备和存储介质。
[0004]第一方面,本专利技术提供一种适用于主链节点的跨链交易组执行方法,各平行链的各合约的各可被交易组调用的方法体均配置有always success约束,上述方法包括:
[0005]接收第一交易组;其中,第一交易组包括至少一条主链交易和至少一条第一平行链的第一平行链交易;
[0006]对第一交易组的各第一交易执行如下操作:
[0007]在第一交易为第一平行链交易时,判断第一交易所调用的第一合约的第一方法体的always success约束是否为true:是,则第一交易验证通过;
[0008]在各为第一平行链交易的第一交易均验证通过时,按序执行各为主链交易的第一交易以执行第一交易组;
[0009]其中,执行后的第一交易组用于供第一平行链的平行链 ...
【技术保护点】
【技术特征摘要】
1.一种跨链交易组执行方法,其特征在于,各平行链的各合约的各可被交易组调用的方法体均配置有always success约束,所述方法适用于主链节点,所述方法包括:接收第一交易组;其中,所述第一交易组包括至少一条主链交易和至少一条第一平行链的第一平行链交易;对所述第一交易组的各第一交易执行如下操作:在所述第一交易为所述第一平行链交易时,判断所述第一交易所调用的第一合约的第一方法体的always success约束是否为true:是,则所述第一交易验证通过;在各为所述第一平行链交易的第一交易均验证通过时,按序执行各为所述主链交易的第一交易以执行所述第一交易组;其中,执行后的所述第一交易组用于供所述第一平行链的平行链节点:根据执行后的所述第一交易组中的各为所述主链交易的第一交易的执行结果执行各为所述第一平行链交易的第一交易以执行所述第一交易组。2.根据权利要求1所述的方法,其特征在于,各平行链的各合约的各可被交易组调用的方法体的always success约束记录在主链上,所述判断所述第一交易所调用的第一合约的第一方法体的always success约束是否为true包括:从主链上查找所述第一交易所调用的第一合约的第一方法体的always success约束是否为true。3.根据权利要求1所述的方法,其特征在于,各平行链的各合约的各可被交易组调用的方法体的always success约束记录在所属的链上,所述判断所述第一交易所调用的第一合约的第一方法体的always success约束是否为true包括:从所述第一平行链上查找所述第一交易所调用的第一合约的第一方法体的always success约束是否为true。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,主链和平行链的各合约的各可被交易组调用的方法体均配置有prev约束和next约束;所述在所述第一交易为所述第一平行链交易时,判断所述第一交易所调用的第一合约的第一方法体的always success约束是否为true:是,则所述第一交易验证通过包括:在所述第一交易为主链交易时,判断所述第一交易所调用的第一方法体是否属于可被交易组调用的方法体,判断所述第一方法体是否属于合规的方法体,判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方法体的第一prev约束是否相同,以及,判断所述第一交易的下一笔交易所调用的第三方法体的名称与所述第一方法体的第一next约束是否相同:在上述判断均为是时,则第一交易验证通过;在所述第一交易为所述第一平行链交易时,判断所述第一交易所调用的第一方法体是否属于可被交易组调用的方法体,判断所述第一方法体是否属于合规的方法体,判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方法体的第一prev约束是否相同,判断所述第一交易的下一笔交易所调用的第三方法体的名称与所述第一方法体的第一next约束是否相同,以及,判断所述第一交易所调用的第一合约的第一方法体的always success约束是否为true:在上述判断均为是时,则第一交易验证通过;所述在各为所述第一平行链交易的第一交易均验证通过时,按序执行各为所述主链交易的第一交易以执行所述第一交易组包括:
在各所述第一交易均验证通过时,按序执行各为所述主链交易的第一交易以执行所述第一交易组。5.根据权利要求4所述的方法,其特征在于,所述判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方法体的第一prev约束是否相同包括:在所述第一prev约束为null时,不执行所述判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方法体的第一prev约束是否相同;在所述第一prev约束不为null时,判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方法体的第一prev约束是否相同;所述判断所述第一交易的下一笔交易所调用的第三方法体的名称与所述第一方法体的第一next约束是否相同包括:在所述第一next约束为null时,不执行所述判断所述第一交易的下一笔交易所调用的第三方法体的名称与所述第一方法体的第一next约束是否相同;在所述第一next约束不为null时,判断所述第一交易的下一笔交易所调用的第三方法体的名称与所述第一方法体的第一next约束是否相同。6.根据权利要求4所述的方法,其特征在于,主链和平行链的各可被交易组调用的方法体配置的prev约束和next约束记录在主链上,所述判断所述第一交易的上一笔交易所调用的第二方法体的名称与所述第一方...
【专利技术属性】
技术研发人员:王志文,吴思进,
申请(专利权)人:杭州复杂美科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。