CN110427389B - 一种用于区块链数字货币的数据处理和查询方法 - Google Patents
一种用于区块链数字货币的数据处理和查询方法 Download PDFInfo
- Publication number
- CN110427389B CN110427389B CN201910683251.7A CN201910683251A CN110427389B CN 110427389 B CN110427389 B CN 110427389B CN 201910683251 A CN201910683251 A CN 201910683251A CN 110427389 B CN110427389 B CN 110427389B
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- account
- block
- ethernet
- 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.)
- Active
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种用于区块链数字货币的数据处理和查询方法,包括以下步骤:S1、利用高并发程序请求以太坊网页,获取以太坊历史交易中产生的区块数据、外部交易数据和内部交易数据;S2、根据区块数据、外部交易数据和内部交易数据计算以太坊中每个账号每次交易后的账户余额;S3、构建大数据集群,实现区块数据、外部交易数据、内部交易数据、账户余额的存储和实时查询。本发明方法通过高并发程序快速获取以太坊全量数据并计算账户余额,得到以太坊全量数据,计算方法简单有效,利用大数据集群存储数据并进行数据实时查询,能够高效、准确的实现数字货币管理和查询。
Description
技术领域
本发明涉及一种基于大数据技术的区块链数字货币审计方法,属于数字货币审计监管技术领域。
背景技术
自2008年中本聪正式提出比特币的概念以来,数字货币在十年的时间内快速发展,目前已形成包括比特币、以太坊、莱特币、瑞波币在内的多种具有各自特点的数字货币,深刻影响着现代金融体系的发展。数字货币是一种基于节点网络和数字加密算法的虚拟货币,而数字货币的形成在本质上依赖于区块链技术的发展。在区块链技术出现之前,互不信任的实体之间进行信用协作需要依赖第三方的参与,例如在用户、商家、银行三者的关系当中,银行作为中介凭借其信任背书与技术能力承担让渡风险与规避风险的功能,保证资金在用户和商家之间能够安全流通,最终促使交易顺利完成。区块链技术的出现打破了这种传统的三角关系,使得任意两个互不信任的主体之间不需要第三方的信用背书就能够就行点对点的交易,解决了中介的信用问题,这就是数字货币最突出也是最重要的特点——去中心化。
数字货币作为新兴的支付系统,与传统货币相比较具有支付耗时短、安全性高、手续费低等特点。根据CoinMarketCap提供的数据,截至2017年4月,全球数字货币总市值已超过200亿美元并呈现稳步上升的态势。作为数字货币的底层技术,区块链除了具有去中心化的特点之外,还综合了现代密码学、分布式数据存储及P2P网络等技术,而这些技术为数字货币赋予了匿名性、安全性、防篡改和可追溯的特性,这些特性保证了数字货币的交易安全性,但同时也加大了对数字货币进行监管的难度。数字货币在支付、流转的过程中会产生的海量数据,这些数据的处理是数字货币审计工作的难点之一,目前鲜有针对区块链或科技金融领域监管方案的研究,也鲜有针对数字货币的数据处理和查询方法。
发明内容
为了解决数字货币监管困难的问题,本发明提出了一种用于区块链数字货币的数据处理和查询方法,通过高并发程序请求以太坊网页,获取以太坊全量交易数据,基于大数据技术,采用对全量数据进行分析处理的方法计算以太坊账户余额,建立大数据集群,实现全量数据的存储和实时查询。
为解决上述技术问题,本发明采用了如下技术手段:
一种用于区块链数字货币的数据处理和查询方法,具体包括以下步骤:
S1、利用高并发程序请求以太坊网页,获取以太坊历史交易中产生的区块数据、外部交易数据和内部交易数据;
S2、根据区块数据、外部交易数据和内部交易数据计算以太坊中每个账号每次交易后的账户余额;
S3、构建大数据集群,实现区块数据、外部交易数据、内部交易数据、账户余额的存储和实时查询。
进一步的,所述步骤S1的具体操作如下:
S11、注册多个以太坊主网账号;
S12、编写高并发程序,将高并发程序分布式的部署在多台服务器上,每台服务器指定多个以太坊主网账号;
S13、利用消息代理软件生成消息队列,构建高并发分布式请求访问以太坊API接口,获取以太坊历史交易中产生的的区块数据和外部交易数据,所述外部交易数据指以太坊账号与账号之间交易产生的数据;
S14、构建高并发请求访问以太坊官方查询主页,遍历以太坊内所有区块号,获取所有区块号的内部交易数据,所述内部交易数据指以太坊账号与合约、合约与合约之间交易产生的数据,所述合约指区块链中的合约;
S15、构建关系型数据库存储区块数据、外部交易数据和内部交易数据。
进一步的,所述步骤S11的具体操作如下:
通过解析临时邮箱网站的账号注册模式,构建模拟请求获取多个邮箱账号,访问以太坊主网并通过获取的邮箱账号注册、激活多个以太网主网账号。
进一步的,所述区块数据包括区块序号、区块哈希值、上一区块哈希值、难度值、总难度值、时间戳和区块包含的交易哈希,所述外部交易数据包括外部交易哈希值、区块哈希值、区块序号、外部交易序号、外部交易发起账号、外部交易接收账号、外部交易数值、区块时间戳、外部交易状态和外部交易花费,所述内部交易数据包括区块序号、内部交易哈希值、内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态。
进一步的,所述步骤S14中在构建高并发请求时,基于IP代理池为请求账号添加代理。
进一步的,步骤S2的具体操作如下:
S21、查询某一区块内的外部交易数据和内部交易数据,按照交易产生的时间先后顺序为该区块内的所有交易排序,所述所有交易包括外部交易和内部交易;
S22、从后向前遍历该区块内的所有交易,根据外部交易数据中的外部交易发起账号、外部交易接收账号、外部交易数值、外部交易状态和外部交易花费计算每笔外部交易后交易双方账号的余额,根据内部交易中的内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态计算每笔内部交易后交易双方账号的余额;
S23、抽取任一账号进行余额验证,在以太网官方主页获取该账号在该区块内参与的所有交易的数据,计算该账号在该区块交易后的余额,与S22计算得到的余额对比,验证余额计算的准确性;
S24、重复步骤S21、S22、S23,遍历所有区块,计算以太坊中每个账号每次交易后的账户余额,并将账户余额存储在关系型数据库中。
进一步的,所述步骤S22中,当任意一笔交易中的账号在该区块内首次出现,访问以太坊API接口查询该账户在该区块中的余额,所述余额即为该账户在该区块内交易后的余额;当任意一笔交易中的账号在该区块内不是首次出现,根据外部交易数据中的外部交易发起账号、外部交易接收账号、外部交易数值、外部交易状态和外部交易花费计算每笔外部交易后交易双方账号的余额,根据内部交易中的内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态计算每笔内部交易后交易双方账号的余额。
进一步的,所述步骤S3的具体操作如下:
S3 1、使用Cloudera Manager搭建分布式Hadoop大数据集群,所述大数据集群包括以下组件:HDFS,YARN,Oozie,Sqoop,Hive,Impala和Zookeeper;
S32、在大数据的Hive中建立表格,利用数据传输工具将关系型数据库中的全量数据导入到Hive表中,所述全量数据包括区块数据、外部交易数据、内部交易数据和账号余额数据;
S33、在Impala中关联Hive,构建查询语句实现以太坊全量数据的实时查询。
进一步的,所述步骤S33中以太坊全量数据查询的具体操作为:
将所有待查询账号的账号地址录入csv文件,将csv文件输入大数据集群服务器中,在Hive组件中建立地址簿,利用脚本将csv文件中的账号地址导入地址簿中,在数据查询页面选择impala,进入pwc_ethereum数据库,利用脚本和地址簿访问数据库中的全量数据,查询账号对于的区块数据、外部交易数据、内部交易数据和账号余额数据。
采用以上技术手段后可以获得以下优势:
本发明提出了一种用于区块链数字货币的数据处理和查询方法,通过解析邮箱账号注册模式,获取多个邮箱账号用来注册和激活多个以太坊主网账号,编写高并发程序,利用账号和高并发程序请求访问以太网的API接口和网页,获取区块数据、外部交易数据和内部交易数据。常规的方法不能从整体的角度对以太坊的历史交易数据进行分析,但是本发明方法依照大数据的核心思想,通过高并发分布式的方法可以快速获得以太坊全量的历史数据,然后按照顺序遍历以太坊的所有交易,根据采集的数据计算账户的余额,并通过余额验证确定余额计算的准确性。本发明方法利用搭建的大数据集群,实现以太坊全量数据的存储和实时查询,在传统数据查询方法中,需要客户逐一输入账号地址进行查询,本发明方法通过csv文件进行批量账号数据查询,查询效率更高,查询结果更准确,解决了以太坊历史数据过多且杂乱,难以监管的问题,为数字货币的监管、审计提供数据基础。
附图说明
图1为本发明一种用于区块链数字货币的数据处理和查询方法的步骤流程图。
图2为本发明一种用于区块链数字货币的数据处理和查询方法的操作流程图。
图3为本发明实施例中以太坊历史数据采集和处理的流程图。
图4为本发明实施例中大数据集群的架构示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明:
一种用于区块链数字货币的数据处理和查询方法,如图1和2所示,主要包括以下步骤:
S1、利用高并发程序请求以太坊网页,获取以太坊历史交易中产生的区块数据、外部交易数据和内部交易数据,在本发明中,历史交易指请求以太坊网页的时刻之前在以太坊内部进行的所有交易,在以太坊中交易可以分为外部交易和内部交易,外部交易主要指以太坊用户账号之间的交易,比如A账号给B账号转款,这两个账号之间的转款操作就是外部交易,内部交易主要指用户账号与合约账号或者合约账号与合约账号之间的交易,在以太坊内,两个用户账号进行一笔交易时,往往会涉及一个或多个内部交易,比如,A账号要给B账号转账,为了实现转账操作,需要调用区块链中的一个或多个合约,通过账号与合约、合约与合约之间的交易实现A账号对B账号的转账,此时,A、B账号分别与合约的交易、合约与合约的交易就称为内部交易。步骤S1的具体操作如下:
S11、注册多个以太坊主网账号,此处注册的是用户账号,以太坊主网对于每个账号的并发请求进行了限制,因此必须生成足够多的账号保证对主网的高并发请求。本发明方法通过解析临时邮箱网站的账号注册模式,构建模拟请求获取多个邮箱账号,然后借助模拟工具访问以太坊主网并通过获取的邮箱账号注册、激活多个以太网主网账号。
S12、编写高并发程序,然后将高并发程序分布式的部署在多台服务器上,每台服务器指定多个以太坊主网账号。
S13、利用消息代理软件生成消息队列,构建高并发分布式请求访问以太坊API接口,获取以太坊历史交易中产生的的区块数据和外部交易数据。每个区块都有对应的区块数据和外部交易数据,区块数据包括区块序号、区块哈希值、上一区块哈希值、难度值、总难度值、时间戳和区块包含的交易哈希等,挖掘难度值指该区块的挖掘难度值,总难度值指的是整个区块链到当前区块为止的挖掘总难度值,时间戳指该区块的时间戳,区块包含的交易哈希指该区块包含的所有交易的交易哈希组成的数组。外部交易数据指两个用户账户进行交易产生的数据,主要包括外部交易哈希值、区块哈希值、区块序号、外部交易序号、外部交易发起账号、外部交易接收账号、外部交易数值、区块时间戳、外部交易状态和外部交易花费等,外部交易哈希值指该笔外部交易的交易哈希,外部交易发起账号和外部交易接受账号通常是用户账号,外部交易数值指该笔外部交易的交易数额(交易金钱数),区块时间戳指该笔外部交易所属区块的时间戳,外部交易状态显示该笔外部交易成功与否,交易状态一般分为交易成功和交易失败,外部交易花费指完成该笔外部交易付出的手续费(矿工费)。
S14、构建高并发请求访问以太坊官方查询主页,以区块号作为参数获取该区块号的内部交易数据,遍历以太坊内所有区块号,获取所有区块号的内部交易数据。内部交易数据指用户账号与合约账号、合约账号与合约账号之间交易产生的数据,每一条内部交易数据主要包括区块序号、内部交易哈希值、内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态,内部交易发起账号和内部交易接收账号可以是用户账号,也可以是合约账号。由于以太坊查询主页对高并发访问进行了限制,本发明方法在构建高并发请求时,基于IP代理池为请求账号添加代理。
S15、构建关系型数据库,将所有区块数据、外部交易数据和内部交易数据存储到关系型数据库中。
S2、根据区块数据、外部交易数据和内部交易数据计算以太坊中每个账号每次交易后的账户余额,具体操作如下:
S21、在关系型数据库中根据区块序号查询某一区块内的外部交易数据和内部交易数据,获取每笔交易产生的时间,按照交易产生的时间先后顺序为该区块内的所有交易排序,所有交易包括了外部交易和内部交易。
S22、根据S21的排序从后向前遍历该区块内的所有交易,依次计算每个账号每次交易后的账户余额;当任意一笔交易中的账号在该区块内首次出现,访问以太坊API接口查询该账户在该区块中的余额,查询到的余额就是该账户在该区块内交易后的余额;当任意一笔交易中的账号在该区块内不是首次出现,根据外部交易数据中的外部交易发起账号、外部交易接收账号、外部交易数值、外部交易状态和外部交易花费计算每笔外部交易后交易双方账号的余额,根据内部交易中的内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态计算每笔内部交易后交易双方账号的余额。
S23、任意收取一个或多个账号进行余额验证,在以太网官方主页重新获取被抽取账号在该区块内参与的所有交易的数据,计算被抽取账号在该区块交易后的余额,与S22计算得到的余额对比,验证余额计算的准确性。
S24、重复步骤S21、S22、S23,遍历所有区块,计算以太坊中每个账号每笔交易后的账户余额,并将账户余额存储在关系型数据库中。
s3、构建大数据集群,实现区块数据、外部交易数据、内部交易数据、账户余额的存储和实时查询,具体操作如下:
S31、使用Cloudera Manager搭建分布式Hadoop大数据集群,所述大数据集群包括以下组件:HDFS,YARN,Oozie,Sqoop,Hive,Impala和Zookeeper。
S32、在大数据的Hive中建立表格,利用数据传输工具将关系型数据库中的全量数据导入到Hive表中,其中,全量数据包括区块数据、外部交易数据、内部交易数据和账号余额数据。本发明实施例中关系型数据库导入大数据集群中的命令如下:
sqoop import --connect jdbc:mysql://{host}:3306/{db} --usernameroot--password′1q2w3e4r′--table{table}--hive-import--hive-database{hive_db}--hive-table{hive_table}。
S33、在Impala中关联Hive,构建查询语句实现以太坊全量数据的查询和审计。针对数字货币的数据查询一般是在电脑的浏览器中输入单个账号进行查询,本发明方法可以通过脚本实现批量账号的数据查询,以太坊全量数据查询的具体操作为:
将所有待查询账号的账号地址录入csv文件,并将csv文件输入大数据集群服务器中,进入大数据集群服务器,执行Hive命令,然后输入“hive>usepwc_ethereum;”,检查数据库中有没有地址簿(数据表)address_list,如果没有地址簿,在Hive里建立地址簿,利用脚本将csv文件中的账号地址导入地址簿中,在数据查询页面选择impala,进入入pwc_ethereum数据库,利用脚本和地址簿访问数据库中的全量数据,查询账号对应的区块数据、外部交易数据、内部交易数据和账号余额数据。
本发明实施例提供了一组数据查询代码,具体如下:
在本发明方法的一个具体实施例中,如图3所示,通过匿名邮箱+Selenium模拟浏览器的方式注册并激活以太坊账号,借助自动化程序共注册了超过1000个账号。编写高并发程序,即爬虫程序,将包含高并发程序的爬虫模块分布式部署在n台Linux服务器上,采用RabbitMQ作为消息队列实现程序的分布式运行,请求以太坊主网API接口获取区块数据和外部交易数据,请求以太坊查询主页获取内部交易数据,其中,主页请求存在限制IP并发数的反爬虫机制,本实例中通过连接代理池的方式应对此反爬虫机制。本实施例中的爬虫程序运行结束后,共获得从以太坊创世到2019年3月为止的所有历史数据,并计算出账号余额数据,将以太坊全量数据存储在MySQL数据库中,全量数据包括从第0块到第730万+块的区块数据、超过4亿条外部交易数据、超过8000万条内部交易数据和超过8亿条余额数据。
本发明实例中使用Hadoop的发行版CDH构建大数据集群,使用Cloudera Manager安装集群所需的各个组件。大数据集群的架构如图4所示,集群组件包括HDFS、YARN、Hive、Sqoop、Impala、Mapreduce、Zookeeper以及Oozie。其中,HDFS是集群的底层分布式数据存储系统;YARN是资源管理器,充当资源调度的角色;Hive是批处理数据仓库,可以将结构化数据映射为数据表;Sqoop工具用来将MySQL数据库中的数据存储在CDH大数据集群的Hive数据仓库中;Impala是基于内存的数据查询系统,Impala与Hive进行关联、数据同步,可以实现以太坊全量区块数据、外部交易数据、内部交易数据、余额数据的快速查询。
上面结合附图对本发明的实施方式作了详细地说明,但是本发明并不局限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (6)
1.一种用于区块链数字货币的数据处理和查询方法,其特征在于,包括以下步骤:
S1、利用高并发程序请求以太坊网页,获取以太坊历史交易中产生的区块数据、外部交易数据和内部交易数据;
所述步骤S1的具体操作如下:
S11、注册多个以太坊主网账号;
S12、编写高并发程序,将高并发程序分布式的部署在多台服务器上,每台服务器指定多个以太坊主网账号;
S13、利用消息代理软件生成消息队列,构建高并发分布式请求访问以太坊API接口,获取以太坊历史交易中产生的的区块数据和外部交易数据,所述外部交易数据指以太坊账号与账号之间交易产生的数据;
S14、构建高并发请求访问以太坊官方查询主页,遍历以太坊内所有区块号,获取所有区块号的内部交易数据,所述内部交易数据指以太坊账号与合约、合约与合约之间交易产生的数据,所述合约指区块链中的合约;
S15、构建关系型数据库存储区块数据、外部交易数据和内部交易数据;所述区块数据包括区块序号、区块哈希值、上一区块哈希值、难度值、总难度值、时间戳和区块包含的交易哈希,所述外部交易数据包括外部交易哈希值、区块哈希值、区块序号、外部交易序号、外部交易发起账号、外部交易接收账号、外部交易数值、区块时间戳、外部交易状态和外部交易花费,所述内部交易数据包括区块序号、内部交易哈希值、内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态;
S2、根据区块数据、外部交易数据和内部交易数据计算以太坊中每个账号每次交易后的账户余额;步骤S2的具体操作如下:
S21、查询某一区块内的外部交易数据和内部交易数据,按照交易产生的时间先后顺序为该区块内的所有交易排序,所述所有交易包括外部交易和内部交易;
S22、从后向前遍历该区块内的所有交易,根据外部交易数据中的外部交易发起账号、外部交易接收账号、外部交易数值、外部交易状态和外部交易花费计算每笔外部交易后交易双方账号的余额,根据内部交易中的内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态计算每笔内部交易后交易双方账号的余额;
S23、抽取任一账号进行余额验证,在以太网官方主页获取该账号在该区块内参与的所有交易的数据,计算该账号在该区块交易后的余额,与S22计算得到的余额对比,验证余额计算的准确性;
S24、重复步骤S21、S22、S23,遍历所有区块,计算以太坊中每个账号每次交易后的账户余额,并将账户余额存储在关系型数据库中;
S3、构建大数据集群,实现区块数据、外部交易数据、内部交易数据、账户余额的存储和实时查询。
2.根据权利要求1所述的一种用于区块链数字货币的数据处理和查询方法,其特征在于,所述步骤S11的具体操作如下:
通过解析临时邮箱网站的账号注册模式,构建模拟请求获取多个邮箱账号,访问以太坊主网并通过获取的邮箱账号注册、激活多个以太网主网账号。
3.根据权利要求1所述的一种用于区块链数字货币的数据处理和查询方法,其特征在于,所述步骤S14中在构建高并发请求时,基于IP代理池为请求账号添加代理。
4.根据权利要求1所述的一种用于区块链数字货币的数据处理和查询方法,其特征在于,所述步骤S22中,当任意一笔交易中的账号在该区块内首次出现,访问以太坊API接口查询该账户在该区块中的余额,所述余额即为该账户在该区块内交易后的余额;
当任意一笔交易中的账号在该区块内不是首次出现,根据外部交易数据中的外部交易发起账号、外部交易接收账号、外部交易数值、外部交易状态和外部交易花费计算每笔外部交易后交易双方账号的余额,根据内部交易中的内部交易发起账号、内部交易接收账号、内部交易数值和内部交易状态计算每笔内部交易后交易双方账号的余额。
5.根据权利要求1所述的一种用于区块链数字货币的数据处理和查询方法,其特征在于,所述步骤S3的具体操作如下:
S31、使用ClouderaManager搭建分布式Hadoop大数据集群,所述大数据集群包括以下组件:HDFS,YARN,Oozie,Sqoop,Hive,Impala和Zookeeper;
S32、在大数据的Hive中建立表格,利用数据传输工具将关系型数据库中的全量数据导入到Hive表中,所述全量数据包括区块数据、外部交易数据、内部交易数据和账号余额数据;
S33、在Impala中关联Hive,构建查询语句实现以太坊全量数据的实时查询。
6.根据权利要求5所述的一种用于区块链数字货币的数据处理和查询方法,其特征在于,所述步骤S33中以太坊全量数据查询的具体操作为:
将所有待查询账号的账号地址录入csv文件,将csv文件输入大数据集群服务器中,在Hive组件中建立地址簿,利用脚本将csv文件中的账号地址导入地址簿中,在数据查询页面选择impala,进入pwc_ethereum数据库,利用脚本和地址簿访问数据库中的全量数据,查询账号对于的区块数据、外部交易数据、内部交易数据和账号余额数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683251.7A CN110427389B (zh) | 2019-07-26 | 2019-07-26 | 一种用于区块链数字货币的数据处理和查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683251.7A CN110427389B (zh) | 2019-07-26 | 2019-07-26 | 一种用于区块链数字货币的数据处理和查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427389A CN110427389A (zh) | 2019-11-08 |
CN110427389B true CN110427389B (zh) | 2023-07-18 |
Family
ID=68412743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910683251.7A Active CN110427389B (zh) | 2019-07-26 | 2019-07-26 | 一种用于区块链数字货币的数据处理和查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427389B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680290B (zh) * | 2020-06-02 | 2023-04-11 | 浙江大学 | 一种基于以太坊虚拟机的代码插桩框架系统 |
CN111679962A (zh) * | 2020-06-02 | 2020-09-18 | 浙江大学 | 一种基于以太坊的行为检测和分析系统 |
CN112528276B (zh) * | 2020-11-23 | 2023-06-09 | 中国联合网络通信集团有限公司 | 基于区块链的分布式存储防篡改方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107045679A (zh) * | 2017-04-06 | 2017-08-15 | 甄益权 | 一种基于数据挖掘的电子商品库存管理系统 |
US20180276640A1 (en) * | 2017-03-23 | 2018-09-27 | Mastercard International Incorporated | Systems and methods for dynamically generating customized records |
CN108881459A (zh) * | 2018-07-02 | 2018-11-23 | 甘肃山呼信息技术有限公司 | 一种面向实际应用的高可扩展公用区块链系统 |
CN109325039A (zh) * | 2018-06-07 | 2019-02-12 | 海南新软软件有限公司 | 一种区块链浏览器及区块链信息浏览方法 |
-
2019
- 2019-07-26 CN CN201910683251.7A patent/CN110427389B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180276640A1 (en) * | 2017-03-23 | 2018-09-27 | Mastercard International Incorporated | Systems and methods for dynamically generating customized records |
CN107045679A (zh) * | 2017-04-06 | 2017-08-15 | 甄益权 | 一种基于数据挖掘的电子商品库存管理系统 |
CN109325039A (zh) * | 2018-06-07 | 2019-02-12 | 海南新软软件有限公司 | 一种区块链浏览器及区块链信息浏览方法 |
CN108881459A (zh) * | 2018-07-02 | 2018-11-23 | 甘肃山呼信息技术有限公司 | 一种面向实际应用的高可扩展公用区块链系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110427389A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230129822A1 (en) | Resource transfer system | |
US20230153276A1 (en) | Decentralized database associating public keys and communications addresses | |
US20200092084A1 (en) | System and methods for operating a blockchain network | |
CN110427389B (zh) | 一种用于区块链数字货币的数据处理和查询方法 | |
EP3864817B1 (en) | Blockchain timestamp agreement | |
KR102151896B1 (ko) | 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼 | |
KR20200067117A (ko) | 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼 | |
US11316385B2 (en) | Wireless energy transfer | |
CN107067322A (zh) | 一种应用于p2p网络借贷企业数据接入模型的系统及方法 | |
CN109919758B (zh) | 经由区块链用于社会储蓄平台的方法和系统 | |
US8645234B2 (en) | General ledger chart of accounts combination editing request response | |
CN107292602A (zh) | 一种避免利息损失的转账方法及系统 | |
CN116029825B (zh) | 区块链的交易方法、装置、系统、电子设备及存储介质 | |
US20220383302A1 (en) | Intelligent Distributed Ledger Consent Optimizing Apparatus for Asset Transfer | |
CN110019043A (zh) | 一种区块链数据存储方法 | |
US11790336B2 (en) | Intelligent distributed ledger consent optimizing apparatus for asset transfer | |
CN117350880B (zh) | 基于雪花算法的全链路对账方法、装置、设备及介质 | |
Estupiñán | Analysis of Modern Blockchain Networks Using Graph Databases | |
CN117764728A (zh) | 一种区块链跨合约调用方法、装置、设备及存储介质 | |
CN117635324A (zh) | 基于区块链网络的数据处理方法及装置、设备和介质 | |
DE202023101941U1 (de) | Computerbasierte Plattformen und Systeme für asynchrone parallele Netzwerkbefehlsarchitektur | |
CN115495443A (zh) | 清分数据处理方法、装置、电子设备及计算机可读介质 | |
CN113269627A (zh) | 一种账务处理方法和装置 | |
CN116668028A (zh) | 基于区块链系统的数据处理方法及装置、设备、介质 | |
CN117439982A (zh) | 资源管理方法、装置、计算机设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |