| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 以太坊数据导出 -> 正文阅读 |
|
[区块链]以太坊数据导出 |
以太坊数据导出工具Ethereum-ETL分析在搭建了一个以太坊全节点后,可以进一步获取和整理链上的数据,包括区块,交易,token,和转账等信息。Ethereum-ETL就是一个封装了解析以太坊数据结构并以结构化表的形式输出的工具。 结构化数据输出以下表以csv格式输出
使用方式
客户端指令支持单表和全表输出
-s -e分别指定需要同步的开始和结束区块 工作流程cli包作为客户端接受用户指令作为入口 开始执行各个表的具体任务,export_all_common使用组合模式触发各个表的job 拿到具体表对象后使用使用模板类base_job执行表对象的流程 根据batch数量和json-rpc签名构造请求对象,再对传入的客户端地址发出请求 用每个表的mapper解析response结果 最后执行输出流对象的export_item方法 以上是普通的区块和交易表导出,过程比较简单 token交易获取通过eth_getFilterLogs来获取指定区块,再利用token_transfer_extractor工具类通过解析topic数组来抽取token转账的交易 receipts和logs的获取先是从transaction导出文件中获取hash列表,写入缓存中 再创建receipts和logs的job对象ExportReceiptsJob,所以,这两张表的导出和前面的交易表是有先后顺序的 contracts和tokens的获取合约则从之前的receipts_file中利用extract_csv_column_unique方法获取合约列表,eth_getCode方法获取合约的bytecode 判断合约类型的方法市面上所有的符合eip标准的合约都可以称之为代币token,主流的有erc20和erc721分别集成eip20和eip721,另外还有erc1155,用作为道具等创建场景的token类型,每种标准体现出的是具体的函数签名,只要一个合约的abi体现出相应的签名则能说明其token类型。 tokens表的获取逻辑和合约的类似 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:56:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |