首页 / 专利库 / 银行与财务事项 / 比特币地址 / 一种区块链浏览器及区块链信息浏览方法

一种链浏览器及区块链信息浏览方法

阅读:679发布:2020-05-23

专利汇可以提供一种链浏览器及区块链信息浏览方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种 区 块 链 浏览器,包括:(一)数据同步模块,从公有链网络 节点 实时同步区块数据,并将同步的数据结构化,存储在 数据库 供查询,包括各币种公有链节点,具有RPC 接口 ,支持BTC,BCH,LTC,ETH和ETC币种;结构化后的区块子模块,包含特定块高下所有交易数据;多个结构化后的交易信息子模块,包括解析后的交易数据;结构化后的地址信息子模块以及数据库;(二)数据查询模块,包括:币种查询接口;地址查询接口;交易哈希查询接口。还提供一种区块链信息浏览方法,分治 算法 将区块数据分为多个任务,由多个同步服务并行执行,分布式处理;对每个币种在多个 服务器 上开启多个 进程 ,同时同步不同块高的区块数据;分库分表进行数据存储。,下面是一种链浏览器及区块链信息浏览方法专利的具体信息内容。

1.一种链浏览器,其特征在于包括:
(一)数据同步模块,负责从公有链网络节点实时同步区块数据,并将同步的数据结构化,存储在数据库,供查询使用,包括:
各币种公有链节点,具有RPC接口,支持比特币BTC,比特币现金BCH,莱特币LTC,以太坊ETH和以太坊经典ETC币种,分别具有BTC-Node,BCH-Node,LTC-Node,ETH-Node以及ETC-Node;
结构化后的区块子模块BlockInfo,包含特定块高下所有的交易数据;
多个结构化后的交易信息子模块Transaction n,包括解析后的交易数据,所述交易数据包括块高、打包时间、交易量、发送地址以及接收地址;
结构化后的地址信息子模块Address n;以及
数据库DB;
(二)数据查询模块,提供用户查询用API以及三个HTTP接口,包括:
币种查询接口CurrencyAPI;
地址查询接口AddressAPI;
交易哈希查询接口TransactionAPI。
2.一种采用如权利要求1的区块链浏览器进行的区块链信息浏览方法,其特征在于包括:
(一)对数据同步模块操作,具体流程包括:
步骤1-1:调用各币种公有链节点的RPC接口,获取一个块高的区块数据,区块数据包括该块高下的所有交易数据;
步骤1-2:解析一个区块包含的所有交易数据,比如:块高,打包时间,交易量,发送地址,接收地址,矿工费,对于BTC系列的交易大小,对于ETH系列,在以太坊网络上进行一笔交易实际运行的步数信息,即GasUsed信息;
步骤1-3:根据上一步从交易信息里解析出的发送地址和接收地址,对于BTC系列币种根据每笔交易的交易量计算账户余额,对于ETH系列币种记录在以太坊网络上进行一笔交易,每一步需要消耗的ETH数量,即GasPrice参数;
步骤1-4:将以上结构化后的区块信息,交易信息,地址信息,利用线程池批量存入数据库。
(二)对数据查询模块操作,具体流程包括:
步骤2-1:服务器利用Restfull技术对外暴露API接口,接收用户查询请求
步骤2-2:用户若查询支持币种接口,服务调用枚举类直接返回;若按交易哈希查询,服务查询交易数据表,直接返回交易信息;
步骤2-3:若用户按地址查询,调用地址查询API,首先会查询数据库获取该地址对应的所有交易哈希,再根据交易哈希进行步骤二操作,最终返回地址信息和最近的交易列表信息。
3.一种根据权利要求2所述的区块链信息浏览方法,其特征在于:所述对数据同步模块的操作采用分治算法,将所有区块数据分为多个任务,由多个同步服务并行执行,分布式处理,大部分同步数据任务前移,减少了用户查询时与公有链节点的交互。
4.一种根据权利要求3所述的区块链信息浏览方法,其特征在于:所述对数据同步模块的操作对于每个币种,在多个服务器上开启多个进程,同时同步不同块高范围的区块数据。
5.一种根据权利要求2所述的区块链信息浏览方法,其特征在于:所述步骤1-4包括采用分库分表设计进行数据存储,避免大数据量对性能的影响。
6.一种根据权利要求2-5所述的区块链信息浏览方法,其特征在于:所述对数据同步模块的操作采用定时任务方式执行。
7.一种根据权利要求2所述的区块链信息浏览方法,其特征在于:所述BTC系列币种根据与该地址相关的所有交易计算获得地址和余额信息;所述ETH系列币种在用户查询时,实时调用节点余额RPC接口获得地址和余额信息。

说明书全文

一种链浏览器及区块链信息浏览方法

技术领域

[0001] 本发明涉及区块链技术领域,尤其涉及区块链浏览技术领域,即用户想要浏览区块链信息所使用的区块链浏览器技术领域。

背景技术

[0002] 随着区块链技术的发展,越来越多的基于区块链技术的数字货币被市场认可,区块链是一种广泛应用于新兴数字加密货币的去中心化基础架构,随着比特币的逐渐被接受而受到关注和研究。应用于数字货币的区块链技术具有去中心化,区块数据基本不可篡改、去信任化等特性,因此受到企业尤其是金融机构的追捧。
[0003] 基于区块链技术,数字货币流通的每一笔交易都被记录在一个完全透明化的数字账本里,任何人都能获取到该账本数据。但是,交易数据是由网络节点之间通过P2P技术进行互相同步和交换的,要想获取完整的交易信息及区块信息,必须搭建全节点,而且数据量巨大。
[0004] 区块链浏览器从字面解释为“区块链+浏览器”,如果用户想要浏览区块链信息,就得用区块链浏览器,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。区块链浏览器是区块链信息浏览的主要窗口,通常数字资产用户会使用区块链浏览器查询记录在区块中的交易信息。
[0005] 目前,已上线的区块链浏览器种类繁多,例如:https://btc.com和https://etherscan.io,前者支持BTC和BCH查询,后者支持ETH及ERC20智能合约的查询。其中:
[0006] (1)btc.com
[0007] 该区块链浏览器目前可支持比特币和比特币现金的查询,可查询BTC公有链网络的交易信息和区块信息,以及各矿池的实时算和网络状态。其技术依赖于蚂蚁矿池强大的算力支撑,可轻易获取实时算力及当前实时网络数据。
[0008] 但是,该系统也有其缺点,当用户根据比特币地址查询地址信息时,由于其地址查询技术是实时计算,其查询速度较慢。
[0009] (2)etherscan.io
[0010] etherscan.io是一款针对以太坊的区块链浏览器,其可查询以太坊公有链网络上的各种参数数据,例如:ETH块高,块哈希,交易哈希,交易量,交易状态,GasPrice(在以太坊网络上进行一笔交易,每一步需要消耗的ETH数量),GasLimit(在以太坊网络上进行一笔交易,运行步数上限),GasUsed(在以太坊网络上进行一笔交易,实际运行步数)等等。另外,其还支持在以太坊网络上发布的各种智能合约,如:ERC20和ERC271,并提供其合约代码的查询。
[0011] 综上所述,以上两种区块链浏览器功能较多,可提供给用户各种链上参数信息。但是,对于普通用户而言,大部分只关注两种功能:交易查询和地址查询,其他参数对于普通用户来说较为陌生,并不实用。并且,以上两种区块链浏览器支持的查询币种单一,无法满足普通用户的一站式查询需求。

发明内容

[0012] 现有区块链浏览器有两个重要问题需要解决,分别是:(1)提高地址和交易哈希的查询速度;(2)支持更多的币种,满足用户多种查询需求;(3)优化大数据量的存储,查询,读写速度。为了方便普通用户查询区块上记录的交易信息和区块信息,本发明开发了一个支持多币种,多维度查询的区块链浏览器,该区块链浏览器支持五大币种,分别是:比特币(BTC),比特币现金(BCH),莱特币(LTC),以太坊(ETH),以太坊经典(ETC),用户可通过数字货币地址或交易哈希进行查询。
[0013] 本发明的目的在于提供一种区块链浏览器,包括:
[0014] (一)数据同步模块,负责从公有链网络节点实时同步区块数据,并将同步的数据结构化,存储在数据库,供查询使用,包括:
[0015] 各币种公有链节点,具有RPC接口,支持比特币BTC,比特币现金BCH,莱特币LTC,以太坊ETH和以太坊经典ETC币种,分别具有BTC-Node,BCH-Node,LTC-Node,ETH-Node以及ETC-Node;
[0016] 结构化后的区块子模块BlockInfo,包含特定块高下所有的交易数据;
[0017] 多个结构化后的交易信息子模块Transaction n,包括解析后的交易数据,所述交易数据包括块高、打包时间、交易量、发送地址以及接收地址;
[0018] 结构化后的地址信息子模块Address n;以及
[0019] 数据库DB;
[0020] (二)数据查询模块,提供用户查询用API以及三个HTTP接口,包括:
[0021] 币种查询接口CurrencyAPI;
[0022] 地址查询接口AddressAPI;
[0023] 交易哈希查询接口TransactionAPI。
[0024] 本发明的目的还在于提供一种采用区块链浏览器进行区块链信息浏览的方法,包括:
[0025] (一)对数据同步模块操作,具体流程包括:
[0026] 步骤1-1:调用各币种公有链节点的RPC接口,获取一个块高的区块数据,区块数据包括该块高下的所有交易数据;
[0027] 步骤1-2:解析一个区块包含的所有交易数据,比如:块高,打包时间,交易量,发送地址,接收地址,矿工费,对于BTC系列的交易大小,对于ETH系列,在以太坊网络上进行一笔交易实际运行的步数信息,即GasUsed信息;
[0028] 步骤1-3:根据上一步从交易信息里解析出的发送地址和接收地址,对于BTC系列币种根据每笔交易的交易量计算账户余额,对于ETH系列币种记录在以太坊网络上进行一笔交易,每一步需要消耗的ETH数量,即GasPrice参数;
[0029] 步骤1-4:将以上结构化后的区块信息,交易信息,地址信息,利用线程池批量存入数据库。
[0030] (二)对数据查询模块操作,具体流程包括:
[0031] 步骤2-1:服务器利用Restfull技术对外暴露API接口,接收用户查询请求
[0032] 步骤2-2:用户若查询支持币种接口,服务调用枚举类直接返回;若按交易哈希查询,服务查询交易数据表,直接返回交易信息;
[0033] 步骤2-3:若用户按地址查询,调用地址查询API,首先会查询数据库获取该地址对应的所有交易哈希,再根据交易哈希进行步骤二操作,最终返回地址信息和最近的交易列表信息。
[0034] 优选的,所述对数据同步模块的操作采用分治算法,将所有区块数据分为多个任务,由多个同步服务并行执行,分布式处理,大部分同步数据任务前移,减少了用户查询时与公有链节点的交互。
[0035] 优选的,所述对数据同步模块的操作对于每个币种,在多个服务器上开启多个进程,同时同步不同块高范围的区块数据。
[0036] 优选的,所述步骤1-4包括采用分库分表设计进行数据存储,避免大数据量对性能的影响。
[0037] 优选的,所述对数据同步模块的操作采用定时任务方式执行。
[0038] 优选的,所述BTC系列币种根据与该地址相关的所有交易计算获得地址和余额信息;所述ETH系列币种在用户查询时,实时调用节点余额RPC接口获得地址和余额信息。
[0039] 采用本发明的支持多币种,多维度查询的区块链浏览器,方便普通用户查询区块上记录的交易信息和区块信息。目前,该区块链浏览器支持五大币种,分别是:比特币(BTC),比特币现金(BCH),莱特币(LTC),以太坊(ETH),以太坊经典(ETC),用户可通过数字货币地址或交易哈希进行查询,该浏览器具有如下的有益效果:
[0040] 第一,针对根据地址和交易哈希查询速度慢的问题,采用分治算法,从而将大部分同步数据任务前移,尽量减少在用户查询时与公有链节点的交互,提高系统应付并发的能力;
[0041] 第二,针对传统区块链浏览器支持币种过于单一的情况,本发明的区块链浏览器可支持目前五大主流币种(BTC,BCH,LTC,ETH,ETC)的查询服务,使用户查询更加方便快捷;
[0042] 第三,目前单币种交易量已达到十亿量级,为了应对区块数据量不断增大带来的性能问题,提高数据吞吐量,本发明的区块链浏览器架构在数据库设计和数据结构上做了优化,采用分库分表,主从分离等技术,最大限度优化数据吞吐能力。
[0043] 根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

附图说明

[0044] 后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
[0045] 附图1为根据本发明实施例的区块链浏览器的数据同步模块架构图。
[0046] 附图2为根据本发明实施例的区块链浏览器的数据查询模块架构图。

具体实施方式

[0047] 为了便于本实施例的说明,对于其中出现的有关区块链及区块链浏览器的技术术语进行解释,分别为:
[0048] (1)公有链:相对于私有链,在生产环境的区块链节点网络,是全世界任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链;
[0049] (2)块高:当前区块所在高度,一般是一个从创世块开始累加而成的正整数;
[0050] (3)块哈希:为标记一个区块,而生成的唯一标识字符串;
[0051] (4)交易哈希:为标记一笔交易,而生成的唯一标识字符串;
[0052] (5)RPC:即Remote Procedure Call,远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,区块链节点一般利用RPC接口与外部交互,例如,进行广播和同步服务;
[0053] (6)矿工费:在区块链上进行一笔交易,需要支付给矿工的费用,一般用当前平台币种支付;
[0054] (7)GasPrice:在以太坊网络上进行一笔交易,每一步需要消耗的ETH数量;
[0055] (8)GasLimit:在以太坊网络上进行一笔交易,运行步数上限;
[0056] (9)GasUsed:在以太坊网络上进行一笔交易,实际运行步数。
[0057] 参见附图1,该区块链浏览器,包括:数据同步模块,负责从公有链网络节点实时同步区块数据,并将同步的数据结构化,存储在数据库,供查询使用,包括:
[0058] 1、各币种公有链节点,具有RPC接口,支持BTC、BCH、LTC、ETH和ETC币种,分别具有BTC-Node,BCH-Node,LTC-Node,ETH-Node以及ETC-Node;
[0059] 2、结构化后的区块子模块BlockInfo,包含特定块高下所有的交易数据;
[0060] 3、多个结构化后的交易信息子模块Transaction n,包括解析后的交易数据,所述交易数据包括块高、打包时间、交易量、发送地址以及接收地址;
[0061] 4、结构化后的地址信息子模块Address n;以及
[0062] 5、数据库DB;
[0063] 对数据同步模块的操作,首先采用分治算法,将所有区块数据分为多个任务,由多个同步服务并行执行,分布式处理,大部分同步数据任务前移,减少了用户查询时与公有链节点的交互;然后对于每个币种,在多个服务器上开启多个进程,同时同步不同块高范围的区块数据;最后采用分库分表设计进行数据存储,避免大数据量对性能的影响。对数据同步模块的操作采用定时任务方式执行,具体流程包括:
[0064] 步骤1-1:调用各币种公有链节点的RPC接口,获取一个块高的区块数据,区块数据包括该块高下的所有交易数据;
[0065] 步骤1-2:解析一个区块包含的所有交易数据,比如:块高,打包时间,交易量,发送地址,接收地址,矿工费,对于BTC系列的交易大小,对于ETH系列,在以太坊网络上进行一笔交易实际运行的步数信息,即GasUsed信息;
[0066] 步骤1-3:根据上一步从交易信息里解析出的发送地址和接收地址,对于BTC系列币种根据每笔交易的交易量计算账户余额,对于ETH系列币种记录在以太坊网络上进行一笔交易,每一步需要消耗的ETH数量,即GasPrice参数;
[0067] 步骤1-4:将以上结构化后的区块信息,交易信息,地址信息,利用线程池批量存入数据库。
[0068] 参见图2,该区块链浏览器还包括数据查询模块,提供用户查询用API以及三个HTTP接口,包括:
[0069] 1、币种查询接口CurrencyAPI;
[0070] 2、地址查询接口AddressAPI;
[0071] 3、交易哈希查询接口TransactionAPI。
[0072] 对数据查询模块操作,具体流程包括:
[0073] 步骤2-1:服务器利用Restfull技术对外暴露API接口,接收用户查询请求;
[0074] 步骤2-2:用户若查询支持币种接口,服务调用枚举类直接返回;若按交易哈希查询,服务查询交易数据表,直接返回交易信息;
[0075] 步骤2-3:若用户按地址查询,调用地址查询API,首先会查询数据库获取该地址对应的所有交易哈希,再根据交易哈希进行步骤二操作,最终返回地址信息和最近的交易列表信息。
[0076] 需要注意的是,BTC系列币种和ETH系列币种的地址余额信息获取方式不同,前者是根据与该地址相关的所有交易计算出来的,后者是在用户查询时,实时调用节点余额RPC接口的。
[0077] 本实施例涉及支持多币种,多维度查询的区块链浏览器,方便普通用户查询区块上记录的交易信息和区块信息。目前,该区块链浏览器支持五大币种,分别是:比特币(BTC),比特币现金(BCH),莱特币(LTC),以太坊(ETH),以太坊经典(ETC),用户可通过数字货币地址或交易哈希进行查询,该浏览器针对根据地址和交易哈希查询速度慢的问题,采用分治算法,从而将大部分同步数据任务前移,尽量减少在用户查询时与公有链节点的交互,提高系统应付并发的能力;针对传统区块链浏览器支持币种过于单一的情况,本发明的区块链浏览器可支持目前五大主流币种(BTC,BCH,LTC,ETH,ETC)的查询服务,使用户查询更加方便快捷;为了应对区块数据量不断增大带来的性能问题,提高数据吞吐量,在数据库设计和数据结构上做了优化,采用分库分表,主从分离等技术,最大限度优化数据吞吐能力。
[0078] 虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈