UTXO库建立方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:25185117 阅读:28 留言:0更新日期:2020-08-07 21:13
本发明专利技术公开的一种UTXO库建立方法,包括以下步骤:遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。还公开了一种实现上述UTXO库建立方法的装置、计算机设备以及存储介质。本发明专利技术创建以地址为索引的UTXO库,用户可高效地通过地址查询到UTXO记录,极大地提高了查询效率。

【技术实现步骤摘要】
UTXO库建立方法、装置、计算机设备和存储介质
本专利技术涉及计算机
,尤其涉及一种UTXO库建立方法、装置、计算机设备和存储介质。
技术介绍
比特币的交易由交易输入和交易输出组成,而交易输入又是上一笔交易的输出,每一笔交易都要花费(spend)一笔输入,产生一笔输出(output),而其所产生的输出,就是"未花费过的交易输出",也就是UTXO。若要建立以地址为索引的UTXO库,方便用户高效地通过地址查询到UTXO记录,需通过比特币链查询交易输入对应的输出地址,其需要进行上亿级别的接口调用,整个过程下来需要5个月甚至更久的时间,极大地影响用户的查询效果。为此,本申请人经过有益的探索和研究,找到了解决上述问题的方法,下面将要介绍的技术方案便是在这种背景下产生的。
技术实现思路
本专利技术所要解决的技术问题之一在于:针对现有技术的不足而提供一种提高查询UTXO记录的UTXO库建立方法。本专利技术所要解决的技术问题之二在于:提供一种实现上述UTXO库建立方法的UTXO库建立装置。本专利技术所要解决的技术问题之三在于:提供一种用于实现上述UTXO库建立方法的计算机设备。本专利技术所要解决的技术问题之四在于:提供一种用于实现上述UTXO库建立方法的计算机可读存储介质。作为本专利技术第一方面的一种UTXO库建立方法,包括以下步骤:遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。作为本专利技术的一个优选实施例中,所述交易输出记录包括交易输出哈希值、交易输出索引以及交易输出地址。在本专利技术的一个优选实施例中,所述交易输入记录包括交易输入哈希值、交易输入索引以及交易输入地址。在本专利技术的一个优选实施例中,所述第一数据库为redis数据库,所述第二数据库为mysql数据库。作为本专利技术第二方面的一种实现上述UTXO库建立方法的UTXO库建立装置,包括:交易输出获取模块,所述交易输出获取模块用于遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;交易输入获取模块,所述交易输入获取模块用于遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;第一数据库模块,所述第一数据库模块用于根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;以及第二数据库模块,所述第二数据库模块用于获取所述第一数据库模块得到的所有的未花费的交易输出记录,并根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。作为本专利技术第三方面的一种用于实现上述UTXO库建立方法的计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。本专利技术所要解决的技术问题之四在于:一种用于实现上述UTXO库建立方法的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。由于采用了如上技术方案,本专利技术的有益效果在于:本专利技术创建以地址为索引的UTXO库,用户可高效地通过地址查询到UTXO记录,极大地提高了查询效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的UTXO库建立方法的一种实施例的应用场景图。图2是本专利技术的UTXO库建立方法的流程图。图3是本专利技术的UTXO库建立装置的一种实施例的结构示意图。图4是本专利技术的计算机设备的内部结构图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。本专利技术提供的UTXO库建立方法,可以应用于如图1所示的应用环境中。其中,用户终端101通过网络与服务器102进行通信。其中,用户终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器102创建关于地址为索引的UTXO库,用户终端101通过网络访问服务器102,向服务器102发送查询请求,服务器102根据查询请求中的地址信息对UTXO库进行检索,并向用户终端101反馈对应的UTXO记录,极大地提高了查询效率。参见图2,图中给出的是本专利技术的UTXO库建立方法,包括以下步骤:步骤S10,遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内。在本实施例中,交易输出记录包括交易输出哈希值、交易输出索引以及交易输出地址。步骤S20,遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至第一数据库内。在本实施例中,交易输入记录包括交易输入哈希值、交易输入索引以及交易输入地址。步骤S30,第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录。在本实施例中,第一数据库优选地为redis数据库。redis数据库为Key-Value数据库,其具有较高的读写效率,这样将所有交易输出和交易输入存储到redis数据库,可极大地减低接口调用次数,由数亿级别缩减到数十万级别,极大地降低了索引建立时间。而且,redis数据库也只需要提供16G内存开销。基于这个前提下,只需要在扫描一次区块链就可以建立地址的UTXO库。对于监控当前开始本文档来自技高网...

【技术保护点】
1.一种UTXO库建立方法,其特征在于,包括以下步骤:/n遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;/n遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;/n所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;/n根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。/n

【技术特征摘要】
1.一种UTXO库建立方法,其特征在于,包括以下步骤:
遍历比特币链的全节点以获取所有的交易输出记录,并将获取到的所有的交易输出记录存储至第一数据库内;
遍历比特币链的全节点以获取所有的交易输入记录,并将获取到的所有的交易输入记录存储至所述第一数据库内;
所述第一数据库根据交易输入记录将对应的交易输出记录进行删除,得到所有的未花费的交易输出记录;
根据所有的未花费的交易输出记录在第二数据库内建立以地址为索引的UTXO库。


2.如权利要求1所述的UTXO库建立方法,其特征在于,所述交易输出记录包括交易输出哈希值、交易输出索引以及交易输出地址。


3.如权利要求1所述的UTXO库建立方法,其特征在于,所述交易输入记录包括交易输入哈希值、交易输入索引以及交易输入地址。


4.如权利要求1所述的UTXO库建立方法,其特征在于,所述第一数据库为redis数据库,所述第二数据库为mysql数据库。


5.一种UTXO库建立装置,其特征在于,包括:
...

【专利技术属性】
技术研发人员:马运宝甘露
申请(专利权)人:上海七印信息科技有限公司
类型:发明
国别省市:上海;31

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

1