【问题标题】:Listening to Uniswap contract events using web3.py and infura.io使用 web3.py 和 infura.io 监听 Uniswap 合约事件
【发布时间】:2020-10-04 05:09:39
【问题描述】:

我想使用 web3.py 和 infura.io 来监听 Uniswap 工厂事件,但是我不太确定从哪里着手。

这是一个链接:https://uniswap.org/docs/v2/smart-contracts/factory/

更具体地说,我想监听PairCreated 事件。

【问题讨论】:

    标签: python cryptocurrency web3py


    【解决方案1】:

    这里是粗略的指南

    1. 为 Uniswap 合约获取 ABI

    2. 创建一个web3.py contract object

    3. 您可以使用web3.eth.getLogs() 查询过去区块范围内的事件

    4. 您不能一次查询所有事件,因为事件太多,Infura 会超时。相反,您需要在块范围切片上仔细查询事件。

    这是一些旧代码,可能适用于最新的 web3.py 版本,也可能不适用

    https://github.com/TokenMarketNet/sto/blob/master/sto/ethereum/scanner.py#L153

    如果您想要一个实时扫描器,您可以在事件发生时通过 WebSocket 连接列出事件:

    https://web3py.readthedocs.io/en/stable/filters.html#asynchronous-filter-polling

    【讨论】:

      猜你喜欢
      • 2019-03-01
      • 2021-12-01
      • 2019-12-26
      • 2019-04-20
      • 2021-10-31
      • 2020-08-26
      • 2021-08-31
      • 2018-10-02
      • 1970-01-01
      相关资源
      最近更新 更多