Прослушивание событий контракта Uniswap с помощью web3.py и infura.io
Я хочу использовать web3.py и infura.io для прослушивания фабричных событий Uniswap, однако я не слишком уверен, что делать с этим.
Вот ссылка: https://uniswap.org/docs/v2/smart-contracts/factory/
В частности, я хочу послушать PairCreated
событие.
1 ответ
Вот приблизительное руководство
Получите ABI для контракта Uniswap
Создайте объект контракта web3.py
Ты можешь использовать
web3.eth.getLogs()
для запроса событий за прошлый диапазон блоковВы не можете запросить все события один раз, потому что событий очень много, и у Infura будет время ожидания. Вместо этого вам нужно тщательно запрашивать события по срезам диапазона блоков.
Вот старый код, который может работать или не работать с последними версиями web3.py
https://github.com/TokenMarketNet/sto/blob/master/sto/ethereum/scanner.py
Если вам нужен сканер в реальном времени, вы можете перечислять события через соединение WebSocket по мере их возникновения: