405客户端错误:URL不允许使用方法:https://rinkeby.infura.io PYTHON

时间:2018-08-30 20:11:40

标签: python django ethereum solidity web3

我无法在合同上调用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

1 个答案:

答案 0 :(得分: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"))