区块链数据分析具有重要的社会价值和经济价值,也是区块链科学研究的重要领域。本文将介绍10个用于区块链数据分析的重要工具,可以帮助你快速搭建区块链数据分析平台。
1、BlockSci:高性能区块链分析与探索工具
BlockSci是一个高性能的区块链科学分析工具,其高性能主要来自两点:采用C++开发、采用(自定义的)内存数据库。根据其测试数据,在一台亚马逊AWS的r4.2xlarge EC2(60GB内存)的云主机上,遍历比特币区块链的全部输入和输出仅需1秒钟。
BlockSci目前提供C++和Python的分析接口。详细可参考BlockSci教程。
代码库:BlockSci
2、BlockAPI:区块链分析API
BlockAPI是一个采用Scala语言开发的区块链数据分析框架,该框架可以将交易所等外部外部数据与区块链数据整合起来进行分析,意大利卡利亚里大学开发。
BlockAPI的工作流主要包括两个步骤:
- 构建区块链视图并存入数据库
- 使用数据库的查询语言分析视图
BlockAPI目前支持的区块链包括比特币、莱特币和以太坊,目前支持的数据库有MongoDB、MySQL、PostgreSQL和Fuseki。
代码库:BlockAPI
3、goBlockchainDataAnalysis:faircoin区块链分析工具
goBlockchainDataAnalysis是采用Go、NodeJS和AngularJS开发的区块链数据分析工具,采用MongoDB存储区块链数据,目前仅支持faircoin:
4、Coinalysis:比特币区块链图分析工具
Coinalysis是一个针对比特币区块链的图分析工具,采用Python和Java开发,其基本思路是建立地址之间的链接,然后进行分析。Coinalysis目前仅支持比特币。
代码库:Coinalysis
5、BlockETL:区块链数据ETL开发包/Java
BlockETL是一个用于区块链数据分析中的数据抽取、转换和加载的Java开发包,目前仅支持比特币区块链:
BlockETL主要特性如下:
- 直接读取原始区块文件,抽取速度快
- 将原始区块和交易数据加载至SQL数据库,便于后续的区块链数据分析
- 支持多流水线并行处理,可自己控制并发流水线数量
- 结构设计清晰,代码便于扩展
代码库:BlockETL
6、bitcoin-blockchain-parser:比特币blk.dat解析库
bitcoin-blockchain-parser是一个用来解析比特币blk.dat的python开发库。
7、Blockchain2graph:比特币数据 -> neo4j图数据库ETL工具
Blockchain2graph抽取比特币区块链数据并加载到neo4j图数据库,主要开发语言为java和typescript:
将区块链数据加载到neo4j之后,可以使用cypher查询语言对区块链数据进行图分析。
代码库:Blockchain2graph
8、BitcoinUses:比特币利用情况分析工具
BitcoinUses是一个基于hadoop的比特币大数据分析项目,主要目的是分析比特币的利用情况。BitcoinUses的主要开发语言为Java和JavaScript:
代码库:BitcoinUses
9、Ether_sql:将以太坊区块链加载到SQL数据库
Ether_sql是一个用于将以太坊区块链的数据加载到SQL数据库的Python开发库,基于web3.py开发,使用SqlAlchemy连接SQL数据库:
代码库:Ether_sql
10、Blockchain-etl:区块链数据ETL工具
Blockchain-etl是一组用于区块链数据抽取加载的Python脚本,采用BigQuery作为数据存储,目前支持比特币、莱特币、以太坊等多个区块链,支持有向图分析:
代码库:Blockchain-etl