405 Ошибка клиента: метод не разрешен для URL: https://rinkeby.infura.io PYTHON - PullRequest
0 голосов
/ 30 августа 2018

Я не могу вызвать фильтр создания для моего контракта, это мой код ниже - я могу получить контракт и запустить его функции, но я не могу слушать события:

myContract = w3.eth.contract(address="some_address",abi=contract_abi) 

Здесь я сталкиваюсь с проблемами:

myfilter_new= myContract.events.Transfer.createFilter(fromBlock=0, toBlock='latest')

это проблема, которую я получаю:

HTTPError at /testing/
405 Client Error: Method Not Allowed for url: https://rinkeby.infura.io/my_api_key

1 Ответ

0 голосов
/ 31 августа 2018

Как сказал @smarx, INFURA не поддерживает фильтры по HTTP. Они имеют некоторую поддержку сокетов, но я считаю, что еще не готов к производству . Хотя стоит попробовать.

Web3.py имеет встроенный способ подключения с помощью веб-сокетов , который можно инициализировать следующим образом:

from web3 import Web3
w3 = Web3(Web3.WebsocketProvider("wss://mainnet.infura.io/ws"))
...