运行Web3.py对接Ganache时提示eth_maxPriorityFeePerGas方法不支持如何解决?
问题原因
你使用的Ganache版本不支持EIP-1559相关的eth_maxPriorityFeePerGas接口,而Web3.py v5及以上版本构建交易时默认会按照EIP-1559规则自动获取优先级小费,因此调用本地Ganache时会报错,Ropsten等测试网已经支持EIP-1559因此可以正常运行。
解决方案
方案一:手动指定gasPrice(最便捷,无需修改Ganache版本)
修改你代码中buildTransaction的参数,手动添加gasPrice字段,关闭EIP-1559的自动适配:
transaction = SimpleStorage.constructor().buildTransaction( { "chainId": chain_id, "from": my_address, "nonce": nonce, "gasPrice": w3.eth.gas_price } )
手动指定gasPrice后Web3.py就不会再自动请求eth_maxPriorityFeePerGas接口,可直接适配Ganache的旧版本。
方案二:升级Ganache到最新版本
升级Ganache GUI到v7+版本,或者Ganache CLI到v6.12+版本,新版本的Ganache已经完整支持EIP-1559相关接口,无需修改代码即可正常运行。
内容的提问来源于stack exchange,提问作者Axceus
相关产品推荐
相关产品推荐

