繁体   English   中英

使用 web3.py 和 infura.io 监听 Uniswap 合约事件

[英]Listening to Uniswap contract events using web3.py and infura.io

我想使用 web3.py 和 infura.io 来监听 Uniswap 工厂事件,但是我不太确定 go 应该在哪里这样做。

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

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

这是粗略的指南

  1. 获取 Uniswap 合约的 ABI

  2. 创建 web3.py合约 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM