扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这期内容当中小编将会给大家带来有关区块链数据分析基础工具BlockETL怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
为大英等地区用户提供了全套网页设计制作服务,及大英网站建设行业解决方案。主营业务为网站设计、网站建设、大英网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
BlockETL软件包用于比特币区块链数据分析中的数据抽取/转换/加载(ETL),可以从原始的比特币区块文件中抽取区块与交易数据并加载入通用SQL数据库,以便于后续的数据分析处理,非常适合区块链数据分析相关的毕业设计或课题研究项目。
BlockETL软件包的主要特性如下:
直接读取原始区块文件,抽取速度快
将原始区块和交易数据加载至SQL数据库,便于后续的区块链数据分析
支持多流水线并行处理,可自己控制并发流水线数量
结构设计清晰,代码便于扩展
BlockETL软件包采用Java开发,支持Windows、OSX和Linux等多种操作系统,当前版本1.0.0,主要类/接口及关系如下图所示:
BlockETL软件包的目录组织及主要代码文件清单参见官网说明:http://sc.hubwiz.com/codebag/blocketl-java/
在开始使用软件包之前,请先安装好gradle 6、jdk 8和所选择的SQL数据库。下面以MySQL为例说明使用过程:
安装mysql服务器,参考文档:Install and Upgrading MySQL。
安装jdk 8,参考文档:JDK 8 Installation
安装gradle 6,参考文档:Gradle Installation。
进入软件包的sql
目录,使用ddl.sql
脚本创建数据库和基础表结构:
mysql -u root -p < ddl.sql
上述命令会要求交互输入root用户的密码,也可以使用其他有足够权限的用户名/密码。成功执行后,上述命令将创建数据库bitcoin_analysis和基础数据表:
blocks:比特币区块头数据表
transactions:比特币交易头数据表
tx_inputs:比特币交易输入数据表
tx_output:比特币交易输出数据表
首先根据自己的基础环境配置,修改demo/src/App.java文件中的区块目录和数据库连接信息并保存:
String dataDir = "…"; //区块数据文件目录 String dbUrl = "jdbc:…. "; //SQL数据库连接URL String dbUser = "…", //SQL数据库用户名 String dbPassword = "…"; //SQL数据库密码 String network = "mainnet"; //主网:mainnet,测试网:testnet
进入软件包的demo目录,使用gradle run
或gradle.bat run
命令启动演示应用,可以看到屏幕输出的数据加载进度:
软件包的demo
应用除了在屏幕输出日志,也会记录到当前目录下的app.log
文件中,可以利用此文件排查故障。
要长时间无人值守运行,可以使用gradle distZip
打包后再执行编译好的程序。
一旦完成区块链数据的抽取并加载到SQL数据库中,就可以进行数据分析了。
为了提高数据加载速度,在之前的ddl.sql
中没有定义数据表的索引,因此在进行数据分析之前,首先要使用index.sql
来建立数据表索引以加速统计查询的执行。进入sql目录执行如下命令完成索引构建,根据要求输入密码:
mysql -u root -p < index.sql
索引建立之后,就可以利用SQL进行数据分析了。
上述就是小编为大家分享的区块链数据分析基础工具BlockETL怎么用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流