4

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

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

在每种情况下,我都会收到 txpool_inspect 方法丢失错误。我正在运行的代码非常简单,使用 Python 3.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 不存在或丢失。

在真正的区块链上尝试之前,我想先让它在测试/开发环境中工作。

建议?

4

2 回答 2

8
  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"
于 2019-11-06T07:46:24.480 回答
3

更新,

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

正如--rpcapi已弃用的使用--http.api标志一样。

喜欢:

--http.api "eth,net,web3,txpool"
于 2020-07-16T14:14:15.203 回答