我使用的是Web3.py和一个许可的Hyperledger Besu网络。
当尝试使用w3.eth.contact(…(方法将智能合约部署到网络中时,我得到了以下错误:
ValueError: {'code': -32604, 'message': 'The method eth_sendTransaction is not supported. Use eth_sendRawTransaction to send a signed transaction to Besu.'}
我想在执行w3.eth.contact(…(时调用了eth_sendTransaction。有没有其他方法可以部署合约而不会出现这个问题?
您需要在发送前对交易进行签名,更多详细信息:https://web3py.readthedocs.io/en/stable/web3.eth.account.html#sign-a交易
您可能使用Infura节点或类似节点。
您需要使用Web3.py在本地签署交易,并让您的应用程序为您管理私钥。