2

我正在使用 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.'}

我想在执行 w3.eth.contract(...) 时会调用 eth_sendTransaction。有没有其他方法可以部署合约而不会出现这个问题?

4

2 回答 2

1

您可能会使用 Infura 节点或类似节点。

您需要使用 Web3.py 在本地签署交易,并让您的应用为您管理私钥

于 2021-05-11T08:17:13.120 回答
1

您需要在发送前签署交易,更多细节:https ://web3py.readthedocs.io/en/stable/web3.eth.account.html#sign-a-transaction

于 2021-05-21T07:59:18.297 回答