#data #timestamp #ethereum #mempool #transaction #nonce #sourcelog

bin+lib 内存池垃圾回收器

用于从内存池垃圾回收器获取以太坊历史内存池数据的工具

2 个版本

0.1.1 2023 年 9 月 11 日
0.1.0 2023 年 9 月 11 日

#13#mempool

Download history 5/week @ 2024-03-13 5/week @ 2024-03-20 12/week @ 2024-03-27 24/week @ 2024-04-03 5/week @ 2024-05-01 16/week @ 2024-05-08 1/week @ 2024-05-22 5/week @ 2024-06-05 69/week @ 2024-06-12 36/week @ 2024-06-19 42/week @ 2024-06-26

152 每月下载次数

MIT 许可证

39KB
695

简介

这是一个辅助库和命令行工具,用于处理https://github.com/flashbots/mempool-dumpster/提供的历史内存池数据。

每天提供三种类型的文件

  • 源日志 - 包含交易到达时的时间戳和交易来源
  • 交易数据 - 包含交易最早被看到的时间戳和交易数据(发送者、接收者、nonce 等)
  • 交易 - 与交易数据相同,包含完整的原始交易

命令行界面

命令行帮助,用于下载文件并将所有文件转换为 parquet 格式。

使用 MEMPOOL_DATADIR 或 cli 参数 --datadir 设置存储下载文件的目录。

mempool-dumpster list-months # list available months
mempool-dumpster list-days 2023-09 # list available days in a month


mempool-dumpster get 2023-09-01 # download sourcelog and transactions files for a day
mempool-dumpster get 2023-09-01 --sourcelog 
mempool-dumpster get 2023-09-01 --sourcelog --transaction-data 
mempool-dumpster get 2023-09-01 --transactions 

mempool-dumpster --datadir ./data get 2023-09-01 --transactions 

mempool-dumpster get 2023-09 # download sourcelog and transactions files for a month

安装

cargo install mempool-dumpster

# from local repo
cargo install --path .

数据格式

文件将从内存池垃圾回收器网站下载,如果需要,将转换为压缩的 parquet 文件,并存储在数据目录中。每天每种文件类型会有一个文件,每种类型都在单独的目录中。

├── sourcelog
│   └── 2023-08-31_sourcelog.parquet
├── transaction-data
│   └── 2023-08-31_transaction-data.parquet
└── transactions
    └── 2023-09-08.parquet

源日志

路径

$DATA_DIR/sourcelog/

  • INT64 timestamp (TIMESTAMP(MILLIS,false)) 毫秒级精度的时间戳
  • BYTE_ARRAY hash (STRING) 0x 前缀的十六进制编码的 tx 哈希
  • BYTE_ARRAY source (STRING) 交易的来源

示例

┌─────────────────────────┬────────────────────────────────────────────────────────────────────┬─────────┐
│        timestamp        │                                hash                                │ source  │
│        timestamp        │                              varchar                               │ varchar │
├─────────────────────────┼────────────────────────────────────────────────────────────────────┼─────────┤
│ 2023-09-07 00:00:00.11  │ 0x8d7fbf19e135fe78cf27cd44865679eedb1b15b1816d97babfaa6a55a06b9261 │ infura  │
│ 2023-09-07 00:00:00.121 │ 0xc12ac4752baf7cebd9fe81d9c82bc1b2cc263f70d0099e4969ed32b2a7d55557 │ alchemy │
│ 2023-09-07 00:00:00.13  │ 0xce024c2799b5e47011e68b62daa610c54dabdd8327e3bcce97642bf416eb4842 │ blx     │
│ 2023-09-07 00:00:00.159 │ 0xae47341cce1913e794548330759fc8a99e3740112365c4ba49fbe8bcbafcddd6 │ local   │
│ 2023-09-07 00:00:00.16  │ 0xe45826dd9f37236f05a3fb4ff8fd5d04f8460cae1ea6eaccbdbd93337229155f │ local   │
└─────────────────────────┴────────────────────────────────────────────────────────────────────┴─────────┘

交易数据

路径

$DATADIR/transaction-data/

  • INT64 timestamp (TIMESTAMP(MILLIS,false)) 交易首次出现的时间戳
  • BYTE_ARRAY hash (STRING) 0x 前缀的十六进制编码的 tx 哈希
  • BYTE_ARRAY chainId (STRING) 链ID字符串(十进制)
  • BYTE_ARRAY from (STRING) 以0x前缀的十六进制编码的发送地址
  • BYTE_ARRAY to (STRING) 以0x前缀的十六进制编码的接收地址(用于合约创建时为空)
  • BYTE_ARRAY value (STRING) 以wei为单位的值字符串(十进制)
  • BYTE_ARRAY nonce (STRING) nonce字符串(十进制)
  • BYTE_ARRAY gas (STRING) 以十进制表示的gas限制
  • BYTE_ARRAY gasPrice (STRING) 以wei为单位的gas价格字符串(十进制)
  • BYTE_ARRAY gasTipCap (STRING) 以wei为单位的gas tip cap字符串(十进制)
  • BYTE_ARRAY gasFeeCap (STRING) 以wei为单位的gas fee cap字符串(十进制)
  • INT64 dataSize 数据字段的大小(字节)
  • BYTE_ARRAY data4Bytes (STRING) 数据字段的前4个字节(以0x前缀的十六进制编码)

示例

┌──────────────────────┬──────────────────────┬─────────┬──────────────────────┬──────────────────────┬───┬─────────────┬───────────┬─────────────┬──────────┬────────────┐
│      timestamp       │         hash         │ chainId │         from         │          to          │ … │  gasPrice   │ gasTipCap │  gasFeeCap  │ dataSize │ data4Bytes │
│      timestamp       │       varchar        │ varchar │       varchar        │       varchar        │   │   varchar   │  varchar  │   varchar   │  int64   │  varchar   │
├──────────────────────┼──────────────────────┼─────────┼──────────────────────┼──────────────────────┼───┼─────────────┼───────────┼─────────────┼──────────┼────────────┤
│ 2023-08-08 00:00:0…  │ 0xfd357043a6dca490…  │ 1       │ 0x9bd59d85cdd41693…  │ 0xb2d513b9a54a9999…  │ … │ 10000000000 │ 500000000 │ 10000000000 │        0 │            │
│ 2023-08-08 00:00:0…  │ 0x8c334ff637d8df9f…  │ 1       │ 0x329b4a3343da7b5b…  │ 0xb2d513b9a54a9999…  │ … │ 10000000000 │ 500000000 │ 10000000000 │        0 │            │
│ 2023-08-08 00:00:0…  │ 0x5cf6f66511451fa3…  │ 1       │ 0xa0915532179371db…  │ 0xb2d513b9a54a9999…  │ … │ 10000000000 │ 500000000 │ 10000000000 │        0 │            │
│ 2023-08-08 00:00:0…  │ 0x91c3e7d726f5834a…  │ 1       │ 0xd8aa8f3be2fb0c79…  │ 0x0ed1bcc400acd345…  │ … │ 23385350014 │ 444240358 │ 23385350014 │        4 │ 0x98e5b12a │
│ 2023-08-08 00:00:0…  │ 0xdbbf976af37eb599…  │ 1       │ 0xd8aa8f3be2fb0c79…  │ 0x2659dbe2d2e6f880…  │ … │ 23385350014 │ 444240358 │ 23385350014 │        4 │ 0x98e5b12a │
├──────────────────────┴──────────────────────┴─────────┴──────────────────────┴──────────────────────┴───┴─────────────┴───────────┴─────────────┴──────────┴────────────┤

交易

路径:$DATADIR/transactions/

  • INT64 timestamp (TIMESTAMP(MILLIS,false)) 交易首次出现的时间戳
  • BYTE_ARRAY hash (STRING) 0x 前缀的十六进制编码的 tx 哈希
  • BYTE_ARRAY chainId (STRING) 链ID字符串(十进制)
  • BYTE_ARRAY from (STRING) 以0x前缀的十六进制编码的发送地址
  • BYTE_ARRAY to (STRING) 以0x前缀的十六进制编码的接收地址(用于合约创建时为空)
  • BYTE_ARRAY value (STRING) 以wei为单位的值字符串(十进制)
  • BYTE_ARRAY nonce (STRING) nonce字符串(十进制)
  • BYTE_ARRAY gas (STRING) 以十进制表示的gas限制
  • BYTE_ARRAY gasPrice (STRING) 以wei为单位的gas价格字符串(十进制)
  • BYTE_ARRAY gasTipCap (STRING) 以wei为单位的gas tip cap字符串(十进制)
  • BYTE_ARRAY gasFeeCap (STRING) 以wei为单位的gas fee cap字符串(十进制)
  • INT64 dataSize 数据字段的大小(字节)
  • BYTE_ARRAY data4Bytes (STRING) 数据字段的前4个字节(以0x前缀的十六进制编码)
  • BYTE_ARRAY rawTx 原始交易字节

示例

┌──────────────────────┬──────────────────────┬─────────┬──────────────────────┬──────────────────────┬───┬─────────────┬──────────┬────────────┬──────────────────────┐
│      timestamp       │         hash         │ chainId │         from         │          to          │ … │  gasFeeCap  │ dataSize │ data4Bytes │        rawTx         │
│      timestamp       │       varchar        │ varchar │       varchar        │       varchar        │   │   varchar   │  int64   │  varchar   │         blob         │
├──────────────────────┼──────────────────────┼─────────┼──────────────────────┼──────────────────────┼───┼─────────────┼──────────┼────────────┼──────────────────────┤
│ 2023-09-08 00:00:0…  │ 0x07017d7bc566bdb9…  │ 1       │ 0x08dc8ffc2db71ea0…  │ 0x6982508145454ce3…  │ … │ 24000000000 │       68 │ 0xa9059cbb │ \x02\xF8\xB2\x01\x…  │
│ 2023-09-08 00:00:0…  │ 0x28ea098d9dfd59e3…  │ 1       │ 0x19777274b0e613bd…  │ 0x28c6c06298d514db…  │ … │ 24000000000 │        0 │            │ \x02\xF8s\x01\x02\…  │
│ 2023-09-08 00:00:0…  │ 0xb03b8cff6dc46893…  │ 1       │ 0xe67fc443fa1d4927…  │ 0x514910771af9ca65…  │ … │ 24000000000 │       68 │ 0xa9059cbb │ \x02\xF8\xB2\x01\x…  │
│ 2023-09-08 00:00:0…  │ 0x272c5580ed4ba3f4…  │ 1       │ 0xf6492394b174f678…  │ 0x95ad61b0a150d792…  │ … │ 24000000000 │       68 │ 0xa9059cbb │ \x02\xF8\xB0\x01\x…  │
│ 2023-09-08 00:00:0…  │ 0x13fc9ac90f6eede4…  │ 1       │ 0x61b7e18ba8ba0413…  │ 0xdac17f958d2ee523…  │ … │ 24000000000 │       68 │ 0xa9059cbb │ \x02\xF8\xB2\x01\x…  │
├──────────────────────┴──────────────────────┴─────────┴──────────────────────┴──────────────────────┴───┴─────────────┴──────────┴────────────┴──────────────────────┤

依赖项

~56MB
~1M SLoC