该方法 txpool_inspect 不 exist/is 不可用

the method txpool_inspect does not exist/is not available

我无法使 python 函数 web3.geth.txpool.inspect() 工作。

我试过从命令行、ethereum/client-go 容器和 trufflesuite/ganache-cli:v6.7.0 容器使用 geth 服务器。

在每种情况下,我都会收到 txpool_inspect 方法丢失错误。我运行的代码很简单,使用Python3.7.5或者3.8:

from web3 import Web3
thing = Web3("http://localhost:42424")
thing.geth.txpool.inspect()

我正在使用 web3py==5.2.2 .

对于 Geth,我尝试了:--dev --mine --rpc --rpcaddr 0.0.0.0 --rpcport 42424 --verbosity 4 我也尝试了各种其他启动选项,似乎没有什么能让我克服 txpool_inspect 不存在或丢失的主题识别错误.

我想先在 test/dev 环境中使用它,然后再在真正的区块链上尝试它。

建议?

  1. 使用 HTTPProvider 启动 Web3:
from web3 import Web3, HTTPProvider
thing = Web3(HTTPProvider("http://localhost:42424"))
thing.geth.txpool.inspect()
  1. 运行 你的节点带有 rpcapi 标志,例如:
--http.api "eth,net,web3,txpool"

更新,

@StillFantasy 的回答是正确的。我只是更新到当前 geth 的版本

因为 --rpcapi 已弃用,请使用 --http.api 标志。

喜欢:

--http.api "eth,net,web3,txpool"