掌桥专利:专业的专利平台
掌桥专利
首页

资产转移方法、设备和存储介质

文献发布时间:2023-06-19 09:27:35


资产转移方法、设备和存储介质

技术领域

本申请涉及平行链技术领域,具体涉及一种资产转移方法、设备和存储介质。

背景技术

在现有区块链技术中,用户甲在多条平行链(例如parachain1~pa rachain4)上有账户并持有若干资产,若用户甲想要将parachain1上的部分资产转移到parachain2~parachain4上,对于每一条平行链,都需要发两笔交易tx1、tx2才能完成,以parachain2为例,tx1为在parac hain1上锁定部分要转移的资产,tx1执行成功后再生成tx2,tx2为在parachain2上生成与锁定的资产等值的资产,十分不便利,且需要花费较多的手续费。

发明内容

鉴于现有技术中的上述缺陷或不足,期望提供一种能够同时执行相关交易内容的,且手续费花费较少的资产转移方法、设备和存储介质。

第一方面,本发明提供一种适用于客户端的资产转移方法,上述方法包括:

响应于当前用户将若干条第一平行链上所持有的资产转移到若干条第二平行链,生成第一资产转移交易;其中,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;

将第一资产转移交易发送到主链,以供各平行链的各平行链节点:

判断第一资产转移交易中的第一标识中是否包括所属平行链的第二标识:

是,则执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产;以及,

生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

在各包括第一资产转移交易的平行链区块在主链均共识成功时,生成包括第一资产转移交易的交易哈希的第一确认交易并发送至主链,以供各平行链的各平行链节点:

根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

判断各执行结果是否均为执行成功:

是,则将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

第二方面,本发明提供一种适用于主链节点的资产转移方法,上述方法包括:

接收第一资产转移交易;其中,第一资产转移交易由第一用户的第一客户端响应于第一用户将若干条第一平行链上所持有的资产转移到若干条第二平行链生成,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;第一资产转移交易还用于供各平行链的平行链节点:

判断第一资产转移交易中的第一标识中是否包括所属平行链的第二标识:

是,则执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产;以及,

生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

接收包括第一资产转移交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端在各包括第一资产转移交易的平行链区块在主链均共识成功时生成;第一确认交易还用于供各平行链的平行链节点:

根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

判断各执行结果是否均为执行成功:

是,则将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

第三方面,本发明提供一种适用于平行链节点的资产转移方法,上述方法包括:

从主链获取第一资产转移交易;其中,第一资产转移交易由第一用户的第一客户端响应于第一用户将若干条第一平行链上所持有的资产转移到若干条第二平行链生成,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;

判断第一资产转移交易中的第一标识中是否包括当前平行链的第二标识:

是,则执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产以及,

生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

从主链获取包括第一资产转移交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端在各包括第一资产转移交易的平行链区块在主链均共识成功时生成;

根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

判断各执行结果是否均为执行成功:

是,则将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

第四方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的资产转移方法。

第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的资产转移方法。

本发明诸多实施例提供的资产转移方法、设备和存储介质通过响应于当前用户将若干条第一平行链上所持有的资产转移到若干条第二平行链,生成第一资产转移交易;将第一资产转移交易发送到主链,以供各第一平行链和第二平行链的各平行链节点执行对应的第一交易内容并分别生成对应的共识交易;在各包括第一资产转移交易的平行链区块在主链均共识成功时,生成包括第一资产转移交易的交易哈希的第一确认交易并发送至主链,以供各第一平行链和第二平行链的各平行链节点执行第一确认交易:根据主链获取的各共识成功的第一资产转移交易的执行结果相应解冻或扣除资产的方法,使得相关交易内容能够同时执行,且手续费花费较少。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本发明一实施例提供的一种资产转移方法的流程图。

图2为本发明一实施例提供的另一种资产转移方法的流程图。

图3为本发明一实施例提供的另一种资产转移方法的流程图。

图4为本发明一实施例提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1为本发明一实施例提供的一种资产转移方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于客户端的资产转移方法,上述方法包括:

S12:响应于当前用户将若干条第一平行链上所持有的资产转移到若干条第二平行链,生成第一资产转移交易;其中,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;

S14:将第一资产转移交易发送到主链,以供各平行链的各平行链节点:

判断第一资产转移交易中的第一标识中是否包括所属平行链的第二标识:

是,则执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产;以及,

生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

S16:在各包括第一资产转移交易的平行链区块在主链均共识成功时,生成包括第一资产转移交易的交易哈希的第一确认交易并发送至主链,以供各平行链的各平行链节点:

根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

判断各执行结果是否均为执行成功:

是,则将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

具体地,假设区块链网络中有主链mainchain和十条平行链parac hain1~parachain10(其名称为pc1~pc10);以标识(包括第一标识和第二标识)为平行链名称,用户A想将其在parachain1上所持有的10c oin转移到parachain3上,将其在parachain2上所持有的20coin转移到parachain4上为例;

用户A的客户端执行步骤S12,响应于用户A想将其在parachai n1上所持有的10coin转移到parachain3上,将其在parachain2上所持有的20coin转移到parachain4上,生成资产转移交易tx1;tx1包括p c1、pc2、pc3、pc4,以及parachain1的各平行链节点对应执行的交易内容(account(A)_pc1,-10coin),parachain2的各平行链节点对应执行的交易内容(account(A)_pc2,-20coin),parachain3的各平行链节点对应执行的交易内容(account(A)_pc3,+10coin),parachain4的各平行链节点对应执行的交易内容(account(A)_pc4,+20coin);

用户A的客户端执行步骤S14,将tx1发送到主链;

主链节点存证tx1;在更多实施例中,主链节点也可以执行tx1,将第一标识和各第一交易内容记录到主链上(即将pc1、pc2、pc3、p c4,和(account(A)_pc1,-10coin)、(account(A)_pc2,-20coin)、(accoun t(A)_pc3,+10coin)、(account(A)_pc4,+20coin)记录到主链上);

parachain1~parachain10的各平行链节点判断tx1中的标识pc1、pc2、pc3、pc4是否包括所属平行链的标识:

tx1包括pc1,则parachain1的各平行链节点执行(account(A)_pc1,-10coin),冻结parachain1上的account(A)的10coin;

tx1包括pc2,则parachain2的各平行链节点执行(account(A)_pc2,-20coin),冻结parachain2上的account(A)的20coin;

tx1包括pc3,则parachain3的各平行链节点执行(account(A)_pc3,+10coin),在parachain3上的account(A)中生成10coin,并冻结所生成的10coin;

tx1包括pc4,则parachain4的各平行链节点执行(account(A)_pc4,+20coin),在parachain4上的account(A)中生成20coin,并冻结所生成的20coin;

tx1不包括pc5~pc10,则parachain5~parachain10的各平行链节点不执行tx1;

用户A的客户端执行步骤S16,在各包括tx1的平行链区块在主链均共识成功时,生成包括hash(tx1)的确认交易tx2并发送至主链;

主链节点存证tx2;在更多实施例中,主链节点也可以执行tx2,将hash(tx1)记录到主链上;

parachain1~parachain10的各平行链节点根据hash(tx1)判断所属平行链上是否包括tx1:

由于parachain1~parachain4上包括tx1,则parachain1~parac hain4的各平行链节点执行tx2:从主链获取各共识成功的tx1的执行结果;

若各执行结果均为执行成功,则parachain1上的各平行链节点将parachain1上的account(A)中所冻结10coin扣除;parachain2上的各平行链节点将parachain2上的account(A)中所冻结20coin扣除;parachain3上的各平行链节点将parachain3上的account(A)中所冻结的所生成的10coin解冻,即,此时parachain3上的account(A)中有10coin;parachain4上的各平行链节点将parachain4上的account(A)中所冻结的所生成的20coin解冻,即,此时parachain4上的account(A)中有20coin;

若各执行结果不是均为执行成功,则parachain1上的各平行链节点将parachain1上的account(A)中所冻结10coin解冻;parachain2上的各平行链节点将parachain2上的account(A)中所冻结20coin解冻;parachain3上的各平行链节点将parachain3上的account(A)中所冻结的所生成的10coin扣除;parachain4上的各平行链节点将parachain4上的account(A)中所冻结的所生成的20coin扣除。

上述实施例以标识为平行链名称,用户A想将其在parachain1上所持有的10coin转移到parachain3上,将其在parachain2上所持有的20coin转移到parachain4上为例对本发明的资产转移原理进行了示例性的阐述。

在更多实施例中,标识还可以根据实际需求配置为其它参数,例如,假设游戏类的平行链配置有标识M,且parachain1~parachain4均为游戏类的平行链,则第一资产转移交易中的第一标识为M,parachain1~parachain4的第二标识也为M,parachain1~parachain4的各平行链节点会执行tx1中对应的交易内容,可实现相同的技术效果。

需要说明的是,各平行链的平行链节点可以先从主链同步第一资产转移交易,再判断所述第一资产转移交易中的所述第一标识中是否包括所属平行链的第二标识;或,先判断所述第一资产转移交易中的所述第一标识中是否包括所属平行链的第二标识:是,则从主链同步第一资产转移交易并执行。此处不作限定。

需要说明的是,本申请中的各平行链的平行链节点主动从主链获取第一资产转移交易,本领域技术人员应当可以联想,在主链节点可以执行第一资产转移交易和第一确认交易的情况下,主链节点可以识别出第一资产转移交易和第一确认交易所包括的平行链parachain1~pa rachain4,并将第一资产转移交易和第一确认交易推送给所连接的parachain1~parachain4的平行链节点。

需要说明的是,本领域技术人员应当理解,上述实施例中执行tx1、tx2所冻结、生成、扣除的coin只是代指;在不同平行链上,资产的名称理应不同,例如,parachain1的资产名称为aaa,parachain2的资产名称为bbb,parachain3的资产名称为ccc,parachain4的资产名称为ddd。以parachain1的各平行链节点对应执行的交易内容为(accou nt(A)_pc1,-10aaa)为例,则parachain3上的各平行链节点在执行tx1时,应当在parachain3上的account(A)中生成与10aaa对应的若干bbb,或,在parachain3上的account(A)中生成伪10aaa;以及,parachain3上的各平行链节点在执行tx2时,若各执行结果均为执行成功,则pa rachain3上的各平行链节点将parachain3上的account(A)中所冻结的所生成的对应的若干bbb或伪10aaa解冻,若各执行结果不是均为执行成功,parachain3上的各平行链节点将parachain3上的account(A)中所冻结的所生成的对应的若干bbb或伪10aaa扣除。

上述实施例使得相关交易内容能够同时执行,且手续费花费较少。

优选地,上述方法还包括:

生成第一转账交易;其中,第一转账交易为第一平行链或第二平行链的转账交易;

向主链发送第一转账交易,以供各主链节点:

判断各包括第一资产转移交易的平行链区块是否在主链均共识成功:

否,则暂不打包第一转账交易。

具体地,用户A的客户端生成转账交易tx3(account(A)_pc3,acco unt(B)_pc3,10coin);

用户A的客户端向主链发送tx3;

各主链节点判断包括tx1的平行链区块是否在主链均共识成功:

否,则暂不打包tx3。

上述实施例保证了同一用户的不同交易串行执行。

需要说明的是,本领域技术人员应当可以联想,在主链节点可以执行第一资产转移交易和第一确认交易的情况下,暂不打包第一转账交易包括:

判断对应的第一交易内容是否为扣除若干资产:

是,则暂不打包第一转账交易。

图2为本发明一实施例提供的另一种资产转移方法的流程图。如图2所示,在本实施例中,本发明提供一种适用于主链节点的资产转移方法,上述方法包括:

S22:接收第一资产转移交易;其中,第一资产转移交易由第一用户的第一客户端响应于第一用户将若干条第一平行链上所持有的资产转移到若干条第二平行链生成,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;第一资产转移交易还用于供各平行链的平行链节点:

判断第一资产转移交易中的第一标识中是否包括所属平行链的第二标识:

是,则执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产;以及,

生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

S24:接收包括第一资产转移交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端在各包括第一资产转移交易的平行链区块在主链均共识成功时生成;第一确认交易还用于供各平行链的平行链节点:

根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

判断各执行结果是否均为执行成功:

是,则将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

上述实施例的资产转移原理可参考图1所示的方法,此处不再赘述。

优选地,上述方法还包括:

接收第一转账交易;其中,第一转账交易由第一客户端生成,第一转账交易为第一平行链或第二平行链的转账交易;

判断各包括第一资产转移交易的平行链区块是否在主链均共识成功:

否,则暂不打包第一转账交易。

上述实施例的资产转移原理可参考图1所示的一种优选实施方式的方法,此处不再赘述。

图3为本发明一实施例提供的另一种资产转移方法的流程图。如图3所示,在本实施例中,本发明提供一种适用于平行链节点的资产转移方法,上述方法包括:

S31:从主链获取第一资产转移交易;其中,第一资产转移交易由第一用户的第一客户端响应于第一用户将若干条第一平行链上所持有的资产转移到若干条第二平行链生成,第一资产转移交易包括各第一平行链和各第二平行链的第一标识,以及各第一平行链和各第二平行链上分别对应执行的各第一交易内容;

S331:判断第一资产转移交易中的第一标识中是否包括当前平行链的第二标识:

是,则执行步骤S332:执行对应的第一交易内容:

若对应的第一交易内容为扣除若干资产,则冻结若干资产;

若对应的第一交易内容为生成若干资产,则生成若干资产,并冻结所生成的若干资产;以及,

S333:生成包括第一资产转移交易的平行链区块的共识交易并发送至主链;

S35:从主链获取包括第一资产转移交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端在各包括第一资产转移交易的平行链区块在主链均共识成功时生成;

S371:根据交易哈希判断所属平行链上是否包括第一资产转移交易:

是,则执行步骤S372:执行第一确认交易:从主链获取各共识成功的第一资产转移交易的执行结果;

S391:判断各执行结果是否均为执行成功:

是,则执行步骤S392:将所冻结的若干资产扣除,或,将所冻结的所生成的若干资产解冻;

否,则执行步骤S393:将所冻结的若干资产解冻,或,将所冻结的所生成的若干资产扣除。

上述实施例的资产转移原理可参考图1所示的方法,此处不再赘述。

图4为本发明一实施例提供的一种设备的结构示意图。如图4所示,作为另一方面,本申请还提供了一种设备,包括一个或多个中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有设备400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。

作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 跨链资产转移方法、计算机设备和存储介质
  • 跨链资产转移方法、计算机设备和存储介质
技术分类

06120112171353