Ошибка при развертывании смарт-контракта с w3.eth.contract(): «Метод eth_sendTransaction не поддерживается»
Я использую Web3.py и разрешенную сеть Hyperledger Besu.
При попытке использовать метод w3.eth.contract (...) для развертывания смарт-контракта в сети я получаю следующую ошибку:
ValueError: {'code': -32604, 'message': 'The method eth_sendTransaction is not supported. Use eth_sendRawTransaction to send a signed transaction to Besu.'}
Я предполагаю, что eth_sendTransaction вызывается при выполнении w3.eth.contract (...). Есть ли другой способ развернуть контракт, чтобы не столкнуться с этой проблемой?
2 ответа
Скорее всего, вы будете использовать узел Infura или аналогичный.
Перед отправкой необходимо подписать транзакцию, подробнее: https://web3py.readthedocs.io/en/stable/web3.eth.account.html#sign-a-transaction