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

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

今天有朋友问:“有没有办法可以获取某个 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

本文参与区块链开发网写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 2022-07-25 19:13
  • 阅读 ( 309 )
  • 学分 ( 4 )
  • 分类:以太坊
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发
区块链技术的头像-区块链开发网

昵称

取消
昵称表情代码图片