метод txpool_inspect не существует/не доступен

У меня возникли проблемы с работой функции Python web3.geth.txpool.inspect().

Я пытался использовать сервер geth из командной строки, из контейнера ethereum/client-go и из контейнера 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 не существует или отсутствует.

Я хотел бы, чтобы это работало для среды тестирования/разработки, прежде чем пробовать это на реальном блокчейне.

Предложения?


person rotten    schedule 30.10.2019    source источник
comment
Ошибка выдается сервером web3 - если я не ясно дал понять.   -  person rotten    schedule 30.10.2019


Ответы (2)


  1. Инициируйте Web3 с помощью HTTPProvider:
from web3 import Web3, HTTPProvider
thing = Web3(HTTPProvider("http://localhost:42424"))
thing.geth.txpool.inspect()
  1. Запустите свой узел с флагом rpcapi, например:
--http.api "eth,net,web3,txpool"
person StillFantasy    schedule 06.11.2019
comment
Благодарю вас! Я попробую сегодня! - person rotten; 07.11.2019

Обновлять,

Ответ @StillFantasy правильный. Я просто обновляюсь до текущей версии geth

поскольку --rpcapi устарел, используйте флаг --http.api.

Нравиться:

--http.api "eth,net,web3,txpool"
person Abu Hanifa    schedule 16.07.2020