我正在使用python web3库连接到RPC=https://bsc-dataseed.binance.org的Binance链。由于BSC是POA链,所以我也使用web3.middleware.geth_poa_middleware,如下所示:
import web3
from web3.middleware import geth_poa_middleware
RPC_URL = "https://bsc-dataseed.binance.org"
myweb3 = web3.Web3(web3.Web3.HTTPProvider(RPC_URL))
myweb3.middleware_onion.inject(geth_poa_middleware,layer=0)然后,我尝试获取最新的块(返回一个AttributeDict):
block = myweb3.eth.get_block('latest')问题是这个块中没有"baseFeePerGas“键。当我试图使用web3库构建一个事务时,我从库的深处得到一个关键错误: keyError: baseFeePerGas。我已经打印出了这个块,我有像"gasLimit“、"gasUsed”这样的字段和一个事务列表,但是没有一个字段称为"baseFeePerGas“。
我该怎么解决这个问题?
发布于 2022-10-26 19:30:00
根据web3.py文档,方法web3.eth.get_block()目前不支持键baseFeePerGas。然而,BSC事务似乎必须包括gasPrice。
请参见:
https://web3py.readthedocs.io/en/v5/web3.eth.html?highlight=getBlock#web3.eth.Eth.getBlock
发布于 2023-05-02 19:17:36
在发送事务时将gasPrice作为参数。
https://ethereum.stackexchange.com/questions/138209
复制相似问题