使用web3.py和infura.io收听Uniswap合同活动

2024-10-05 14:25:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用web3.py和infura.io来收听Uniswap factory的活动,但是我不太确定该去哪里听

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

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


Tags: pyhttpsioorgdocs链接smartfactory
1条回答
网友
1楼 · 发布于 2024-10-05 14:25:58

这是粗略的指南

  1. 获取Uniswap合同的ABI

  2. 创建web3.pycontract object

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

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

下面是一些旧代码,它们可能适用于最新的web3.py版本,也可能不适用于最新的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

相关问题 更多 >