使用 web3.py 和 infura.io 监听 Uniswap 合约事件
Listening to Uniswap contract events using web3.py and infura.io
我想使用 web3.py 和 infura.io 来监听 Uniswap 工厂事件,但是我不太确定该去哪里。
这是一个link:https://uniswap.org/docs/v2/smart-contracts/factory/
更具体地说,我想监听 PairCreated
事件。
这是粗略的指南
获取 Uniswap 合约的 ABI
创建 web3.py contract object
您可以使用web3.eth.getLogs()
查询过去区块范围内的事件
不能一次查询所有事件,因为事件太多,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
我想使用 web3.py 和 infura.io 来监听 Uniswap 工厂事件,但是我不太确定该去哪里。
这是一个link:https://uniswap.org/docs/v2/smart-contracts/factory/
更具体地说,我想监听 PairCreated
事件。
这是粗略的指南
获取 Uniswap 合约的 ABI
创建 web3.py contract object
您可以使用
web3.eth.getLogs()
查询过去区块范围内的事件不能一次查询所有事件,因为事件太多,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