用户间跨区块链交换通证的方法、装置及设备与流程

文档序号:18453720发布日期:2019-08-17 01:26阅读:195来源:国知局
用户间跨区块链交换通证的方法、装置及设备与流程

本申请涉及区块链技术领域,尤其涉及一种用户间跨区块链交换通证的方法、装置及设备。



背景技术:

目前,对于区块链之间通证,即token,的交换主要采用公证人机制、哈希锁定和侧链方式这三种方式实现。其中,公证人机制是依靠中心化或多重签名的见证人模式实现跨链交换token;哈希锁定是通过产生随机数,生成哈希,进而利用哈希锁定合约的方式实现跨链交换token;侧链方式是通过锚定某种原链上的token为基础实现跨链交换token的。

上述跨链交换token的方法往往只能对特定的两个区块链使用,若将其应用到其他区块链之间,则需要重新进行底层开发,导致适用的区块链有限,无法实现较为广泛的应用。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种用户间跨区块链交换通证的方法、装置及设备。

根据本申请的第一方面,提供一种用户间跨区块链交换通证的方法,包括:

第一地址将期望交换数量的通证发送给第二地址,得到交易信息;所述第一地址和所述第二地址共同位于第一区块链中;所述交易信息包括发送方第一地址、接收方第二地址、所述期望交换数量;

第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;所述第三地址与所述第四地址共同位于第二区块链中;

第四地址将兑换数量的通证发送给第三地址;

所述第一地址与所述第三地址均为第一用户所拥有的地址,且通过所述地址映射合约进行映射;

所述第二地址与所述第四地址均为第二用户所拥有的地址,且通过所述地址映射合约进行映射;

所述预设兑换比例为所述第一区块链和所述第二区块链之间通证的兑换比例。

可选的,在所述第一地址将期望交换数量的通证发送给第二地址之前,还包括:

查询第一地址中通证的数量,得到第一通证数量;

查询第四地址中通证的数量,得到第二通证数量;

判断所述第一通证数量和第二通证数量是否满足所述预设兑换比例,得到判断结果;

当所述判断结果为满足时,执行所述第一地址将期望交换数量的通证发送给第二地址。

可选的,在第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量之后,且,在所述第四地址将兑换数量的通证发送给第三地址之前,还包括:

第四地址锁定所述第四地址中的通证,以保证所述第四地址中的通证满足兑换比例。

可选的,所述第四地址将兑换数量的通证发送给第三地址,包括:

第四地址解锁所述第四地址中的通证;

第四地址将兑换数量的通证发送给所述第三地址;

对所述第四地址根据预设兑换比例和所述期望交换数量将兑换数量的通证发送给所述第三地址进行监听,以使第四地址向所述第三地址发送通证失败时进行再次发送,直至发送成功。

可选的,在所述第一地址将期望交换数量的通证发送给第二地址之后,且,在所述第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量之前,还包括:

监听所述第一地址将期望交换数量的通证发送给第二地址事件;

当所述第一地址将期望交换数量的通证发送给第二地址事件成功时,执行所述第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;

当所述第一地址将期望交换数量的通证发送给第二地址事件失败时,终止交易同时将期望交换数量的通证从所述第二地址中返还给所述第一地址。

根据本申请的第二方面,提供一种用户间跨区块链交换通证的装置,包括:

第一发送模块,用于第一地址将期望交换数量的通证发送给第二地址,得到交易信息;所述第一地址和所述第二地址共同位于第一区块链中;所述交易信息包括发送方第一地址、接收方第二地址、所述期望交换数量;

处理模块,用于第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;所述第三地址与所述第四地址共同位于第二区块链中;

第二发送模块,用于第四地址将兑换数量的通证发送给第三地址;

所述第一地址与所述第三地址均为第一用户所拥有的地址,且通过所述地址映射合约进行映射;

所述第二地址与所述第四地址均为第二用户所拥有的地址,且通过所述地址映射合约进行映射;

所述预设兑换比例为所述第一区块链和所述第二区块链之间通证的兑换比例。

还包括:

第一查询模块,用于查询第一地址中通证的数量,得到第一通证数量;

第二查询模块,用于查询第四地址中通证的数量,得到第二通证数量;

判断模块,用于判断所述第一通证数量和第二通证数量是否满足所述预设兑换比例,得到判断结果;

第一执行模块,用于当所述判断结果为满足时,执行所述第一地址将期望交换数量的通证发送给第二地址。

可选的,还包括:

锁定模块,用于第四地址锁定所述第四地址中的通证,以保证所述第四地址中的通证满足兑换比例。

可选的,所述第二发送模块包括:

解锁单元,用于第四地址解锁所述第四地址中的通证;

发送单元,用于第四地址将兑换数量的通证发送给所述第三地址;

监听单元,用于对所述第四地址根据预设兑换比例和所述期望交换数量将兑换数量的通证发送给所述第三地址进行监听,以使第四地址向所述第三地址发送通证失败时进行再次发送,直至发送成功。

所述用户间跨区块链交换通证的装置还包括:

监听模块,用于监听所述第一地址将期望交换数量的通证发送给第二地址事件;

第二执行模块,用于当所述第一地址将期望交换数量的通证发送给第二地址事件成功时,执行所述第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;

返还模块,用于当所述第一地址将期望交换数量的通证发送给第二地址事件失败时,终止交易同时将期望交换数量的通证从所述第二地址中返还给所述第一地址。

根据本申请的第三方面,提供一种用户间跨区块链交换通证的系设备,包括:

处理器,以及与所述处理器相连接的存储器;

所述存储器用于存储计算机程序,所述计算机程序至少用于执行如下所述的用户间跨区块链交换通证的方法;

第一地址将期望交换数量的通证发送给第二地址,得到交易信息;所述第一地址和所述第二地址共同位于第一区块链中;所述交易信息包括发送方第一地址、接收方第二地址、所述期望交换数量;

第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;所述第三地址与所述第四地址共同位于第二区块链中;

第四地址将兑换数量的通证发送给第三地址;

所述第一地址与所述第三地址均为第一用户所拥有的地址,且通过所述地址映射合约进行映射;

所述第二地址与所述第四地址均为第二用户所拥有的地址,且通过所述地址映射合约进行映射;

所述预设兑换比例为所述第一区块链和所述第二区块链之间通证的兑换比例。

可选的,在所述第一地址将期望交换数量的通证发送给第二地址之前,还包括:

查询第一地址中通证的数量,得到第一通证数量;

查询第四地址中通证的数量,得到第二通证数量;

判断所述第一通证数量和第二通证数量是否满足所述预设兑换比例,得到判断结果;

当所述判断结果为满足时,执行所述第一地址将期望交换数量的通证发送给第二地址。

可选的,在第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量之后,且,在所述第四地址将兑换数量的通证发送给第三地址之前,还包括:

第四地址锁定所述第四地址中的通证,以保证所述第四地址中的通证满足兑换比例。

可选的,所述第四地址将兑换数量的通证发送给第三地址,包括:

第四地址解锁所述第四地址中的通证;

第四地址将兑换数量的通证发送给所述第三地址;

对所述第四地址根据预设兑换比例和所述期望交换数量将兑换数量的通证发送给所述第三地址进行监听,以使第四地址向所述第三地址发送通证失败时进行再次发送,直至发送成功。

可选的,在所述第一地址将期望交换数量的通证发送给第二地址之后,且,在所述第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量之前,还包括:

监听所述第一地址将期望交换数量的通证发送给第二地址事件;

当所述第一地址将期望交换数量的通证发送给第二地址事件成功时,执行所述第一地址根据所述交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;

当所述第一地址将期望交换数量的通证发送给第二地址事件失败时,终止交易同时将期望交换数量的通证从所述第二地址中返还给所述第一地址。

所述处理器用于调用并执行所述存储器中的所述计算机程序。

本申请提供的技术方案可以包括以下有益效果:对于在两个区块链之间,两个用户交换通证,首先,两个用户需要在两个区块链中均建立有地址,第一用户在第一区块链中拥有第一地址,在第二区块链中拥有第三地址;第二用户在第一区块链中拥有第二地址,在第二区块链中拥有第四地址,第一地址将期望交换数量的通证发送给第二地址,得到交易信息,其中,交易信息中包括发送方第一地址、接受方第二地址和期望交换数量;第一地址根据交易信息、预设兑换比例以及预先设置的地址映射合约得到第三地址、第四地址和兑换数量;第一地址和第三地址通过地址映射合约映射、第二地址和第四地址通过地址映射合约映射;然后,第四地址将兑换数量的通证发送给第三地址,完成用户间跨区块链的通证交换,其中,预设兑换比例为所述第一区块链和所述第二区块链之间通证的兑换比例。基于此,用户可以通过预先设置地址映射合约的方式,实现用户间跨区块链的交换,且该方法使用绝大部分区块链,无需在每次适应新的区块链时进行底层开发。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请的实施例一提供的一种用户间跨区块链交换通证的方法的流程示意图。

图2是本申请的实施例二提供的一种用户间跨区块链交换通证的装置的结构示意图。

图3是本申请的实施例三提供的一种用户间跨区块链交换通证的系设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

目前,对于区块链之间通证,即token,的交换主要采用公证人机制、哈希锁定和侧链方式这三种方式实现。其中,公证人机制是依靠中心化或多重签名的见证人模式实现跨链交换token;哈希锁定是通过产生随机数,生成哈希,进而利用哈希锁定合约的方式实现跨链交换token;侧链方式是通过锚定某种原链上的token为基础实现跨链交换token的。

上述跨链交换token的方法往往只能对特定的两个区块链使用,若将其应用到其他区块链之间,则需要重新进行底层开发,导致适用的区块链有限,无法实现较为广泛的应用。

为解决上述技术问题,本申请通过映射同一用户在不同区块链上的地址,实现用户间跨区块链交换通证。

实施例一

请参阅图1,图1是本申请的实施例一提供的一种用户间跨区块链交换通证的方法的流程示意图。

如图1所示,本实施例提供的用户间跨区块链交换通证的方法包括:

步骤11、第一地址将期望交换数量的通证发送给第二地址,得到交易信息;第一地址和第二地址共同位于第一区块链中;交易信息包括发送方第一地址、接收方第二地址、期望交换数量;

步骤12、第一地址根据交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;第三地址与第四地址共同位于第二区块链中。

步骤13、第四地址将兑换数量的通证发送给第三地址。

其中,第一地址与第三地址均为第一用户所拥有的地址,且通过地址映射合约进行映射;第二地址与第四地址均为第二用户所拥有的地址,且通过地址映射合约进行映射;预设兑换比例为第一区块链和第二区块链之间通证的兑换比例。

对于在两个区块链之间,两个用户交换通证,首先,两个用户需要在两个区块链中均建立有地址,第一用户在第一区块链中拥有第一地址,在第二区块链中拥有第三地址;第二用户在第一区块链中拥有第二地址,在第二区块链中拥有第四地址,第一地址将期望交换数量的通证发送给第二地址,得到交易信息,其中,交易信息中包括发送方第一地址、接受方第二地址和期望交换数量;第一地址根据交易信息、预设兑换比例以及预先设置的地址映射合约得到第三地址、第四地址和兑换数量;第一地址和第三地址通过地址映射合约映射、第二地址和第四地址通过地址映射合约映射;然后,第四地址将兑换数量的通证发送给第三地址,完成用户间跨区块链的通证交换,其中,预设兑换比例为第一区块链和第二区块链之间通证的兑换比例。基于此,用户可以通过预先设置地址映射合约的方式,实现用户间跨区块链的交换,且该方法使用绝大部分区块链,无需在每次适应新的区块链时进行底层开发。

需要说明的是,使用本申请的方法实现用户间跨区块链交换通证的前提是涉及到的用户需要在涉及到的区块链中均具有至少一个地址。其中,当上述前提不满足时,可以通过在区块链上建立地址的方法满足上述前提,由于在区块链上建立地址是非常成熟的操作,与现有的用户间跨链交换通证的方法相比,就算在使用本方法前需要在区块链上建立地址,仍然是简单易操作的,解决了现有技术中存在的问题。

在步骤11前,本申请的方法还可以包括:

查询第一地址中通证的数量,得到第一通证数量;

查询第四地址中通证的数量,得到第二通证数量;

判断第一通证数量和第二通证数量是否满足预设兑换比例,得到判断结果;

当判断结果为满足时,执行第一地址将期望交换数量的通证发送给第二地址。

上述过程中,满足预设兑换比例是指当第一区块链和第二区块链的预设兑换比例为1:n时,若第一地址发送的期望交换数量为m,则第四地址中的数量必须大于或者等于m×n。

另外,区块链之间的预设兑换比例为浮动兑换比例,类似于货币间的汇率,预设兑换比例的管理方法可以参照货币间汇率的管理方法(市场),依靠区块链间的交易市场进行调节。

另外,在步骤12和步骤13之间,本实施例中的方法还可以包括:

第四地址锁定第四地址中的通证,以保证第四地址中的通证满足兑换比例。

锁定第四地址中的通证可以有效避免该过程中发生其他交易导致第四地址中的通证数量不满足预设兑换比例。

另外,该处锁定第四地址中的通证可以是锁定第四地址中的全部通证,也可以是锁定步骤12中计算出的兑换数量的通证。

另外,步骤13还可以包括:

第四地址解锁第四地址中的通证;

第四地址将兑换数量的通证发送给第三地址;

对第四地址根据预设兑换比例和期望交换数量将兑换数量的通证发送给第三地址进行监听,以使第四地址向第三地址发送通证失败时进行再次发送,直至发送成功。

在步骤11和步骤12之间,本实施例的方法还可以包括:

监听第一地址将期望交换数量的通证发送给第二地址事件;

当第一地址将期望交换数量的通证发送给第二地址事件成功时,执行第一地址根据交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;

当第一地址将期望交换数量的通证发送给第二地址事件失败时,终止交易同时将期望交换数量的通证从第二地址中返还给第一地址。

其中,第一地址将期望交换数量的通证发送给第二地址可以通过专用方法transferx实现,对应的,监听第一地址将期望交换数量的通证发送给第二地址事件即监听transferx事件。

需要说明的是,地址映射合约是通过addressmapping的方法将用户在不同区块链中的地址映射起来的。

上述方法可以通过在各区块链上部署智能合约来实现,智能合约中至少包括发送区块链的专用方法transferx,发送通证事件(transferx事件)及以addressmapping为基础的地址映射合约。

实施例二

请参阅图2,图2是本申请的实施例二提供的一种用户间跨区块链交换通证的装置的结构示意图。

如图2所示,本实施例提供的用户间跨区块链交换通证的装置包括:

第一发送模块21,用于第一地址将期望交换数量的通证发送给第二地址,得到交易信息;第一地址和第二地址共同位于第一区块链中;交易信息包括发送方第一地址、接收方第二地址、期望交换数量;

处理模块22,用于第一地址根据交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;第三地址与第四地址共同位于第二区块链中;

第二发送模块23,用于第四地址将兑换数量的通证发送给第三地址;

第一地址与第三地址均为第一用户所拥有的地址,且通过地址映射合约进行映射;

第二地址与第四地址均为第二用户所拥有的地址,且通过地址映射合约进行映射;

预设兑换比例为第一区块链和第二区块链之间通证的兑换比例。

进一步地,本装置还可以包括:

第一查询模块,用于查询第一地址中通证的数量,得到第一通证数量;

第二查询模块,用于查询第四地址中通证的数量,得到第二通证数量;

判断模块,用于判断第一通证数量和第二通证数量是否满足预设兑换比例,得到判断结果;

第一执行模块,用于当判断结果为满足时,执行第一地址将期望交换数量的通证发送给第二地址。

进一步地,本装置还可以包括:

锁定模块,用于第四地址锁定第四地址中的通证,以保证第四地址中的通证满足兑换比例。

另外,第二发送模块可以包括:

解锁单元,用于第四地址解锁第四地址中的通证;

发送单元,用于第四地址将兑换数量的通证发送给第三地址;

监听单元,用于对第四地址根据预设兑换比例和期望交换数量将兑换数量的通证发送给第三地址进行监听,以使第四地址向第三地址发送通证失败时进行再次发送,直至发送成功。

本实施例的用户间跨区块链交换通证的装置还可以包括:

监听模块,用于监听第一地址将期望交换数量的通证发送给第二地址事件;

第二执行模块,用于当第一地址将期望交换数量的通证发送给第二地址事件成功时,执行第一地址根据交易信息、预设兑换比例和预先设置的地址映射合约得到第三地址、第四地址及兑换数量;

返还模块,用于当第一地址将期望交换数量的通证发送给第二地址事件失败时,终止交易同时将期望交换数量的通证从第二地址中返还给第一地址。

实施例三

请参阅图3,图3是本申请的实施例三提供的一种用户间跨区块链交换通证的系设备的结构示意图。

如图3所示,本实施例提供的用户间跨区块链交换通证的系设备包括:

处理器,以及与处理器相连接的存储器;

存储器用于存储计算机程序,计算机程序至少用于执行如实施例一的用户间跨区块链交换通证的方法;

处理器用于调用并执行存储器中的计算机程序。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1