python - 405 客户端错误 : Method Not Allowed for url: https://rinkeby. infura.io

标签 python django ethereum solidity web3py

我不能在我的契约(Contract)上调用创建过滤器,这是我下面的代码。我能够获得契约(Contract)并在其上运行功能,但我无法收听事件:

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

最佳答案

正如@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"))

关于python - 405 客户端错误 : Method Not Allowed for url: https://rinkeby. infura.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104686/

相关文章:

mocha.js - mocha : Timeout of 20000ms exceeded 单元测试错误

ruby-on-rails - 我可以使用 Ruby on Rails 或 Node.js 而不是 Ethereum + Geth 创建本地区 block 链吗?

python - 从 csv 文件导入数据 - 为什么他们打印不同的东西?

python - 如何在保存之前更改 Django 表单字段值?

python - 检查元组成员资格的时间复杂度是多少?

python - Pip3在哪里安装模块?

django - 使用参数重定向。 NoReverseMatch 在/test/

mysql - Django 错误 "Intersection is not supported on this database backend"

python - 为 Scapy 支持的字段查找字段大小(以字节为单位)

go - 如何从智能合约中转移 ERC20 代币而不转移到基本账户