如何通过块哈希获取块数据?我有兴趣为每个新块获取块时间戳。
from web3 import Web3
avalanche_url = 'https://api.avax.network/ext/bc/C/rpc'
provider = Web3(Web3.HTTPProvider(avalanche_url))
new_block_filter = provider.eth.filter('latest')
while True:
block_hashes = new_block_filter.get_new_entries()
for block_hash in block_hashes:
block = provider.eth.get_block(block_hash.hex())
print(block)
这会导致错误:
web3.exceptions.ExtraDataLengthError: The field extraData is 80 bytes, but should be 32. It is quite likely that you are connected to a POA chain. Refer to http://web3py.readthedocs.io/en/stable/middleware.html#geth-style-proof-of-authority for more details. The full extraData is: HexBytes('0x0000000000000000000000000001edd400000000000000000000000000000000000000000000000000000000002cb3970000000000000000000000000005902b00000000000000000000000000000000')
相同的查询适用于以太坊。