- Ethereum ETL 官方github链接:https://github.com/blockchain-etl/ethereum-etl
- 作用:将以太坊区块链数据导出到 CSV 或 JSON 文件
最近有位朋友需要做一个链上数据分析的项目,需要将全链的数据清洗一遍,导入数据库以后,进行大数据分析。
那么分析什么呢?分析token的涨跌趋势、成交量;持币地址变化情况;用于参与swap交易的盈亏情况,平均持仓成本;token合约安全性;swap交易资金流入流出等等的一些数据场景。
以上所有功能的基础,都来源于数据,首先第一步就是要搭建一个全量节点,得到稳定的数据源。其次呢,就不得不提到以太坊上的一个知名度很高的数据分析组件。链上追踪工具nansen就是用它做的etl(确切的说,也就是数据清洗组件)
一、环境安装
- gcc安装
yum -y install gcc
- ethereumetl 安装
pip3 install ethereum-etl
二、实际操作
2.1 导出区块和交易信息
# ethereumetl export_blocks_and_transactions --start-block 0 --end-block 5000000 --provider-uri http://ip:port/ --blocks-output blocks.csv --transactions-output transactions.csv
2021-11-23 15:10:00,693 - ProgressLogger [INFO] - Started work. Items to process: 51.
2021-11-23 15:10:00,819 - ProgressLogger [INFO] - 51 items processed. Progress is 100%.
2021-11-23 15:10:00,820 - ProgressLogger [INFO] - Finished work. Total items processed: 51. Took 0:00:00.126703.
2021-11-23 15:10:00,820 - CompositeItemExporter [INFO] - block items exported: 51
2021-11-23 15:10:00,820 - CompositeItemExporter [INFO] - transaction items exported: 19
- export_blocks_and_transactions:导出区块和交易信息指令
- start-block:起始区块
- end-block:结束区块
- provider-uri:请求节点(BSC节点)
- blocks-output:区块信息输出文件
- transactions-output:交易信息输出文件
2.2 导出 ERC20 和 ERC721 交易
# ethereumetl export_token_transfers --start-block 0 --end-block 5000000 --provider-uri http://ip:port/ --output token_transfers.csv
2021-11-23 20:13:05,882 - ProgressLogger [INFO] - Started work. Items to process: 51.
2021-11-23 20:13:06,125 - ProgressLogger [INFO] - 51 items processed. Progress is 100%.
2021-11-23 20:13:06,126 - ProgressLogger [INFO] - Finished work. Total items processed: 51. Took 0:00:00.244305.
2021-11-23 20:13:06,126 - CompositeItemExporter [INFO] - token_transfer items exported: 0
- export_token_transfers:导出 ERC20 和 ERC721 交易指令
- start-block:起始区块
- end-block:结束区块
- provider-uri:请求节点(BSC节点)
- output:信息输出文件
以上,就是今天分享的全部内容了,希望大家通过以上方式可以解决自己的实际需求,解决自己目前所遇到的问题。
如果文章中有不太正确的地方,欢迎指正,可以扫描下面的二维码,添加我的个人微信,备注:地区-职业方向-昵称,欢迎来撩,加入区块链技术交流群,与更多的区块链技术大佬学习交流。