Xatu数据集现在提供通过cryo提取的执行层数据,数据以Apache Parquet文件格式存储,并按1000个区块分块。该数据集涵盖了从以太坊创世区块至今的所有数据,旨在促进对以太坊生态系统的深入分析和研究。文章中提供了多个查询示例,展示了如何使用ClickHouse CLI分析该数据集。
我们很高兴地宣布,通过 cryo 提取的执行层数据,现已在 Xatu 数据集中提供。
概要:
通过提供这些数据,我们希望能够对以太坊生态系统进行更深入的分析和研究,并补充数据集的其余部分。
数据以 1000 个区块为单位存储,例如:
0.parquet
(区块号 0 - 999)1000.parquet
(区块号 1000 - 1999)2000.parquet
(区块号 2000 - 2999)1000000.parquet
(区块号 1000000 - 1000999)lower
函数,例如:WHERE transaction_hash = lower('0xABcd1234')
Int128
/ UInt128
/ Int256
/ UInt256
),请使用 ClickHouse 函数 reinterpretAsUIntX
。例如,在 canonical_execution_transaction 表中,value
列应查询为 reinterpretAsUInt256(value)
。最简单的入门方法是安装 Clickhouse CLI 并使用 clickhouse local
查询数据。使用数据 包含更多详细信息。
以下示例演示了你可以在数据上运行的一些简单查询。
主网上区块 20000000 和 20010999 之间排名前 5 的区块生产者是谁?
回答:我们可以使用 canonical_execution_block
表按额外数据列进行分组。
clickhouse local -q "
SELECT
count(*) as count,
author,
extra_data_string
FROM
url('https://data.ethpandaops.io/xatu/mainnet/databases/default/canonical_execution_block/1000/{20000..20010}000.parquet', 'Parquet')
GROUP BY
author, extra_data_string
ORDER BY
count DESC
LIMIT 5
FORMAT PrettyCompact
"
┌─count─┬─author─────────────────────────────────────┬─extra_data_string───────────────┐
│ 5591 │ 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 │ beaverbuild.org │
│ 3389 │ 0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97 │ Titan (titanbuilder.xyz) │
│ 441 │ 0x1f9090aae28b8a3dceadf281b0f12828e676c326 │ rsync-builder.xyz │
│ 325 │ 0x1f9090aae28b8a3dceadf281b0f12828e676c326 │ @rsyncbuilder │
│ 220 │ 0xdf99a0839818b3f120ebac9b73f82b617dc6a555 │ Illuminate Dmocratize Dstribute │
└───────┴────────────────────────────────────────────┴─────────────────────────────────┘
主网上区块 20900000 和 20905999 之间按价值计算的前 5 名转账?
回答:我们可以使用 canonical_execution_transaction
表过滤掉没有 calldata 的交易,并按价值排序。
clickhouse local -q "
SELECT
block_number,
transaction_hash,
reinterpretAsUInt256(value) / 1e18 AS ether_value
FROM
url('https://data.ethpandaops.io/xatu/mainnet/databases/default/canonical_execution_transaction/1000/{20900..20905}000.parquet', 'Parquet')
WHERE
input IS NULL
ORDER BY
ether_value DESC
LIMIT 5
FORMAT PrettyCompact
"
┌─block_number─┬─transaction_hash───────────────────────────────────────────────────┬────────ether_value─┐
│ 20902203 │ 0x62927f22026352b0af12fa844e588b999089849b98c50a89641cd19d69dfac35 │ 14008.381015295294 │
│ 20903687 │ 0x39882cafc4195eee7b63444be4e9d16aad57e9465c2c4ef565758fa559a4e9f8 │ 8444.154971169999 │
│ 20900096 │ 0x55a8950dc6e205bb1397bfe17a93767fb4ce026402b25ff9104476108b5d8807 │ 8357.538338940001 │
│ 20902260 │ 0xbee9e1fcbc8405f6ef6620c08f47f568e8df0bb80feb5d77362aaf0e38e123a5 │ 7572.340613229151 │
│ 20902737 │ 0x586f91964ed8a2adaab4f1c26a011b934a978c03e91303e9f74b206541fe9e21 │ 6800 │
└──────────────┴────────────────────────────────────────────────────────────────────┴────────────────────┘
主网上区块 20900000 和 20905999 之间 USDT 的交易量是多少?
回答:我们可以使用 canonical_execution_erc20_transfers
表来汇总 USDT erc20 合约地址的价值。
clickhouse local -q "
SELECT
sum(reinterpretAsUInt256(value)) / 1000000 as USDT
FROM
url('https://data.ethpandaops.io/xatu/mainnet/databases/default/canonical_execution_erc20_transfers/1000/{20900..20905}000.parquet', 'Parquet')
WHERE
erc20 = lower('0xdAC17F958D2ee523a2206206994597C13D831ec7') -- USDT erc20 contract address
FORMAT PrettyCompact
"
┌──────────────USDT─┐
│ 1585831125.724754 │ -- 1.59 billion
└───────────────────┘
如何调试区块 20875205 中执行失败的交易 0xe1cf349a8e55309cfab9d8d3dd8a8094765f99d65b20864c265bcd234abfe570
?
回答:我们可以使用 canonical_execution_traces
表来获取完整的跟踪详细信息。我们知道交易发生在区块 20875205 中,因此我们可以请求 parquet 块 20875000.parquet
。
clickhouse local -q "
SELECT
trace_address,
action_from,
action_to,
action_value,
action_gas,
error
FROM
url('https://data.ethpandaops.io/xatu/mainnet/databases/default/canonical_execution_traces/1000/20875000.parquet', 'Parquet')
WHERE
transaction_hash = lower('0xe1cf349a8e55309cfab9d8d3dd8a8094765f99d65b20864c265bcd234abfe570')
ORDER BY internal_index
FORMAT PrettyCompact
"
┌─trace_address─┬─action_from────────────────────────────────┬─action_to──────────────────────────────────┬─action_value─┬─action_gas─┬─error──────┐
│ ᴺᵁᴸᴸ │ 0x1FCCC097DB89A86BFC474A1028F93958295B1FB7 │ 0xEEFBA1E63905EF1D7ACBA5A8513C70307C1CE441 │ 0 │ 29587220 │ Reverted │
│ 0 │ 0xEEFBA1E63905EF1D7ACBA5A8513C70307C1CE441 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0 │ 28883047 │ ᴺᵁᴸᴸ │
│ 0_0 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x065347C1DD7A23AA043E3844B4D0746FF7715246 │ 0 │ 28421311 │ ᴺᵁᴸᴸ │
│ 0_1 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x065347C1DD7A23AA043E3844B4D0746FF7715246 │ 0 │ 28405020 │ ᴺᵁᴸᴸ │
│ 0_2 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x35A338522A435D46F77BE32C70E215B813D0E3AC │ 0 │ 28394712 │ ᴺᵁᴸᴸ │
│ 0_3 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x35A338522A435D46F77BE32C70E215B813D0E3AC │ 0 │ 28391907 │ ᴺᵁᴸᴸ │
│ 0_4 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x74C5A0D5DFCC6D4527C849F09ECC360C5345D986 │ 0 │ 28384423 │ ᴺᵁᴸᴸ │
│ 0_4_0 │ 0x74C5A0D5DFCC6D4527C849F09ECC360C5345D986 │ 0xEFF8E65AC06D7FE70842A4D54959E8692D6AE064 │ 0 │ 27898562 │ ᴺᵁᴸᴸ │
│ 0_4_0_0 │ 0xEFF8E65AC06D7FE70842A4D54959E8692D6AE064 │ 0x78910E1DFE6DF94EA7EEC54B25921673DB0E2A06 │ 0 │ 27457785 │ ᴺᵁᴸᴸ │
...
│ 221 │ 0xEEFBA1E63905EF1D7ACBA5A8513C70307C1CE441 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0 │ 67576 │ Out of gas │
│ 221_0 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x065347C1DD7A23AA043E3844B4D0746FF7715246 │ 0 │ 62480 │ ᴺᵁᴸᴸ │
│ 221_1 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x065347C1DD7A23AA043E3844B4D0746FF7715246 │ 0 │ 48158 │ ᴺᵁᴸᴸ │
│ 221_2 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x35A338522A435D46F77BE32C70E215B813D0E3AC │ 0 │ 45036 │ ᴺᵁᴸᴸ │
│ 221_3 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x35A338522A435D46F77BE32C70E215B813D0E3AC │ 0 │ 44200 │ ᴺᵁᴸᴸ │
│ 221_4 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x74C5A0D5DFCC6D4527C849F09ECC360C5345D986 │ 0 │ 41145 │ ᴺᵁᴸᴸ │
│ 221_4_0 │ 0x74C5A0D5DFCC6D4527C849F09ECC360C5345D986 │ 0xEFF8E65AC06D7FE70842A4D54959E8692D6AE064 │ 0 │ 13996 │ ᴺᵁᴸᴸ │
│ 221_4_0_0 │ 0xEFF8E65AC06D7FE70842A4D54959E8692D6AE064 │ 0x78910E1DFE6DF94EA7EEC54B25921673DB0E2A06 │ 0 │ 13345 │ ᴺᵁᴸᴸ │
│ 221_5 │ 0x9500F306CD233BF2BCFF1CC90D565C64626A162C │ 0x74C5A0D5DFCC6D4527C849F09ECC360C5345D986 │ 0 │ 6184 │ Out of gas │
└───────────────┴────────────────────────────────────────────┴────────────────────────────────────────────┴──────────────┴────────────┴────────────┘
我们希望你觉得这些数据有用,并期待看到你使用它构建的内容!如果你有任何问题或反馈,请在 Twitter 上联系我们,或加入 Xatu Telegram Group
查询愉快!
爱你的,
EthPandaOps 团队 ❤️
- 原文链接: ethpandaops.io/posts/xat...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!