405客户端错误:网址不允许的方法:https://rinkeby.infura.io PYTHON

问题描述 投票:2回答:1

我不能在我的合同上调用create filter,这是我下面的代码 - 我能够获得合同并在其上运行函数,但我无法听取事件:

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
python django ethereum solidity web3
1个回答
1
投票

正如@smarx所说,INFURA不支持HTTP上的过滤器。他们确实对插座有一些支持,但我相信it is not yet production ready。不过,值得一试。

Web3.py有一个内置的connect using websockets方法,你可以像这样初始化:

from web3 import Web3
w3 = Web3(Web3.WebsocketProvider("wss://mainnet.infura.io/ws"))
© www.soinside.com 2019 - 2024. All rights reserved.