CN110032664A - 一种快速建立比特币区块链全节点地址索引的方法 - Google Patents
一种快速建立比特币区块链全节点地址索引的方法 Download PDFInfo
- Publication number
- CN110032664A CN110032664A CN201910173015.0A CN201910173015A CN110032664A CN 110032664 A CN110032664 A CN 110032664A CN 201910173015 A CN201910173015 A CN 201910173015A CN 110032664 A CN110032664 A CN 110032664A
- Authority
- CN
- China
- Prior art keywords
- transaction
- output
- block chain
- database
- bit coin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种快速建立比特币区块链全节点地址索引的方法,包括以下步骤:步骤S1,对所述比特币区块链的所有区块节点进行遍历,并获取每一个区块节点的所有输出交易信息和所有输入交易信息;步骤S2,将获取到的所有输出交易信息存储至第一数据库中;步骤S3,根据每一条输入交易信息在所述第一数据库中查找与其相对应的输出交易地址,并将每一条输出交易信息与其相对应的输出交易地址建立索引;步骤S4,将获取到的所有输出交易信息以及建立索引后的所有输出交易信息存储至第二数据库中。本发明可高效快速地通过交易地址查询与其相对应的交易详情,极大地提高查询效率,节省查询时间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种快速建立比特币区块链全节点地址索引的方法。
背景技术
目前,比特币区块链只对区块节点钱包创建索引,只有区块节点钱包内存储的地址才能快速查询到与其相对应的交易详情。比特币的每一笔交易都是由很多交易输入和交易输出组成,而一笔交易的输入又是上一笔交易的输出。如果要建立交易地址与交易详情的索引关系,通过比特币区块链查询交易输入对应的输出地址,那么这个过程下来需要5个月甚至更久的时间,因为需要进行上亿级别的接口调用。为此,本申请人经过有益的探索和研究,找到了解决上述问题的方法,下面将要介绍的技术方案便是在这种背景下产生的。
发明内容
本发明的目的在于:提供一种快速建立比特币区块链全节点地址索引的方法,该方法可高效地通过交易地址查询到相关的交易详情。
本发明所要解决的技术问题可以采用如下技术方案来实现:
一种快速建立比特币区块链全节点地址索引的方法,包括以下步骤:
步骤S1,对所述比特币区块链的所有区块节点进行遍历,并获取每一个区块节点的所有输出交易信息和所有输入交易信息;
步骤S2,将获取到的所有输出交易信息存储至第一数据库中;
步骤S3,根据每一条输入交易信息在所述第一数据库中查找与其相对应的输出交易地址,并将每一条输出交易信息与其相对应的输出交易地址建立索引;
步骤S4,将获取到的所有输出交易信息以及建立索引后的所有输出交易信息存储至第二数据库中。
在本发明的一个优选实施例中,所述输出交易信息包括交易哈希值、交易索引值以及交易地址。
在本发明的一个优选实施例中,所述输入交易信息包括上一笔交易的交易哈希值以及上一笔交易的交易索引值。
在本发明的一个优选实施例中,所述第一数据库为redis数据库。
在本发明的一个优选实施例中,在所述步骤S2中,所述获取到的所有输出交易信息通过kv存储方式存储至所述第一数据库中。
在本发明的一个优选实施例中,在所述步骤S3中,通过每一条输入交易信息的交易哈希值和/或交易索引值在所述第一数据库中进行查找。
在本发明的一个优选实施例中,所述第二数据库为levelDB数据库。
由于采用了如上的技术方案,本发明的有益效果在于:本发明将所有输出交易和输入交易中的交易地址与交易哈希值建立索引,可以高效快速地通过交易地址查询与其相对应的交易详情,极大地提高查询效率,节省查询时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图1,图中给出的是一种快速建立比特币区块链全节点地址索引的方法,包括以下步骤:
步骤S1,对比特币区块链的所有区块节点进行遍历,并获取每一个区块节点的所有输出交易信息和所有输入交易信息。其中,输出交易信息包括交易哈希值、交易索引值以及交易地址。输入交易信息包括上一笔交易的交易哈希值以及上一笔交易的交易索引值。
步骤S2,将获取到的所有输出交易信息通过kv存储方式存储至第一数据库中。在本实施例中,第一数据库采用redis数据库,redis数据库是基于内存的kv存储的数据库,具有较高的读写效率,这样将所有输出交易信息先存储在redis数据库中,可极大地减少接口调用次数,降低索引建立时间,而且redis数据库也只需要提供16G内存开销。由此作为前提,那么只需要在扫描一次比特币区块链即可建立索引。
步骤S3,根据每一条输入交易信息在第一数据库中查找与其相对应的输出交易地址,并将每一条输出交易信息与其相对应的输出交易地址建立索引。具体地,可通过每一条输入交易信息的交易哈希值和/或交易索引值在第一数据库中进行查找。
步骤S4,将获取到的所有输出交易信息以及建立索引后的所有输出交易信息存储至第二数据库中。在本实施例中,第二数据库采用levelDB数据库。
本发明将所有输出交易和输入交易中的交易地址与交易哈希值建立索引,可以高效快速地通过交易地址查询与其相对应的交易哈希值,而交易哈希值通过哈希计算后可得到交易详情,极大地提高查询效率,节省查询时间。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种快速建立比特币区块链全节点地址索引的方法,其特征在于,包括以下步骤:
步骤S1,对所述比特币区块链的所有区块节点进行遍历,并获取每一个区块节点的所有输出交易信息和所有输入交易信息;
步骤S2,将获取到的所有输出交易信息存储至第一数据库中;
步骤S3,根据每一条输入交易信息在所述第一数据库中查找与其相对应的输出交易地址,并将每一条输出交易信息与其相对应的输出交易地址建立索引;
步骤S4,将获取到的所有输出交易信息以及建立索引后的所有输出交易信息存储至第二数据库中。
2.如权利要求1所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,所述输出交易信息包括交易哈希值、交易索引值以及交易地址。
3.如权利要求2所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,所述输入交易信息包括上一笔交易的交易哈希值以及上一笔交易的交易索引值。
4.如权利要求1所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,所述第一数据库为redis数据库。
5.如权利要求1所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,在所述步骤S2中,所述获取到的所有输出交易信息通过kv存储方式存储至所述第一数据库中。
6.如权利要求3所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,在所述步骤S3中,通过每一条输入交易信息的交易哈希值和/或交易索引值在所述第一数据库中进行查找。
7.如权利要求1所述的快速建立比特币区块链全节点地址索引的方法,其特征在于,所述第二数据库为levelDB数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173015.0A CN110032664A (zh) | 2019-03-07 | 2019-03-07 | 一种快速建立比特币区块链全节点地址索引的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173015.0A CN110032664A (zh) | 2019-03-07 | 2019-03-07 | 一种快速建立比特币区块链全节点地址索引的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110032664A true CN110032664A (zh) | 2019-07-19 |
Family
ID=67235168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910173015.0A Pending CN110032664A (zh) | 2019-03-07 | 2019-03-07 | 一种快速建立比特币区块链全节点地址索引的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032664A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597822A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链中的信息查找方法、装置、存储介质和计算机设备 |
CN111506557A (zh) * | 2020-04-10 | 2020-08-07 | 上海七印信息科技有限公司 | Utxo库建立方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503053A (zh) * | 2016-09-26 | 2017-03-15 | 江苏通付盾科技有限公司 | Utxo查询方法及装置 |
CN107239954A (zh) * | 2017-06-07 | 2017-10-10 | 北京汇通金财信息科技有限公司 | 一种提高区块产生速度的方法及装置 |
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
US20170330179A1 (en) * | 2016-05-16 | 2017-11-16 | Coinplug, Inc. | Method for issuing authentication information and blockchain-based server using the same |
CN109087079A (zh) * | 2018-07-09 | 2018-12-25 | 北京知帆科技有限公司 | 数字货币交易信息分析方法 |
-
2019
- 2019-03-07 CN CN201910173015.0A patent/CN110032664A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170330179A1 (en) * | 2016-05-16 | 2017-11-16 | Coinplug, Inc. | Method for issuing authentication information and blockchain-based server using the same |
CN106503053A (zh) * | 2016-09-26 | 2017-03-15 | 江苏通付盾科技有限公司 | Utxo查询方法及装置 |
CN107239954A (zh) * | 2017-06-07 | 2017-10-10 | 北京汇通金财信息科技有限公司 | 一种提高区块产生速度的方法及装置 |
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
CN109087079A (zh) * | 2018-07-09 | 2018-12-25 | 北京知帆科技有限公司 | 数字货币交易信息分析方法 |
Non-Patent Citations (1)
Title |
---|
邵奇峰 等: "区块链技术:架构及进展", 《计算机学报》, vol. 41, no. 05, pages 969 - 988 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597822A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链中的信息查找方法、装置、存储介质和计算机设备 |
CN110597822B (zh) * | 2019-09-20 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 区块链中的信息查找方法、装置、存储介质和计算机设备 |
CN111506557A (zh) * | 2020-04-10 | 2020-08-07 | 上海七印信息科技有限公司 | Utxo库建立方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870382B2 (en) | Data encoding and corresponding data structure | |
CN103902698B (zh) | 一种数据存储系统和存储方法 | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN106202548A (zh) | 数据存储方法、查找方法及装置 | |
CN103902702A (zh) | 一种数据存储系统和存储方法 | |
CN102609421B (zh) | 数据查询方法及装置 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN106326475A (zh) | 一种高效的静态哈希表实现方法及系统 | |
CN105204920B (zh) | 一种基于映射聚合的分布式计算作业的实现方法及装置 | |
CN106095964A (zh) | 一种对数据进行可视化归档与搜索的方法 | |
CN104685499A (zh) | 过滤/投影操作的硬件实现 | |
CN105653609A (zh) | 基于内存的数据处理方法及装置 | |
CN104268295A (zh) | 一种数据查询方法及装置 | |
CN101751475B (zh) | 号段记录压缩方法及其装置 | |
CN110188100A (zh) | 数据处理方法、装置及计算机存储介质 | |
CN103020227A (zh) | 计算机设备中的数据处理方法和系统 | |
CN105096944A (zh) | 语音识别方法及装置 | |
CN104021125A (zh) | 一种搜索引擎排序的方法、系统以及一种搜索引擎 | |
JP6418431B2 (ja) | 効率的な1対1結合のための方法 | |
CN110032664A (zh) | 一种快速建立比特币区块链全节点地址索引的方法 | |
CN102169491A (zh) | 一种多数据集中重复记录动态检测方法 | |
CN109727030A (zh) | 一种区块链中账户数据存储方法 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN112527836B (zh) | 一种基于t-box平台的大数据查询方法 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |