如何读取以太坊链上历史数据

  • Ashton
  • 更新于 2022-07-25 19:13
  • 阅读 3103

不少同学都会忽略一个细节,我们可以通过区块号来直接读取链上历史数据的

今天有朋友问:“有没有办法可以获取某个 erc20 token 一个月前的供应量?我能想到的只有扫块”

办法当然是有的:

  1. 去找一个归档节点(archive node)
  2. 确定要查询数据的区块号
  3. 发送 eth_call 查询请求的时候传入区块号参数,如果是用 web3.js, 可以用类似下面的代码:
    erc20Instance.methods.totalSupply().call({}, 10000000)

下面几个以太坊节点的 RPC 调用都支持传入指定区块号来获取历史数据:

eth_getBalance
eth_getCode
eth_getTransactionCount
eth_getStorageAt
eth_call
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Ashton
Ashton
0x53b3...c54F
专注于 EVM 和比特币生态的区块链开发者