How to get BaseFeePerGas of an old block with ethers.js/hardhat

Expert

I am working on a personal project and I was wondering if there's a way to get the BaseFeePerGas of a historical block using ethers.js

Answers 1

I could not find a way to get directly with providers methods in ethers.js. However, there is RCP endpoint *ethfeeHistory* that can provide this information. RPC endpoint can be called with method *send*: ``` var block = await ethers.provider.send("eth_feeHistory", [1, "latest", []]); ``` The second argument is block number. It can be "latest", "pending", or block number in hex format. Notice that this endpoint typically can return block history up to 1024 blocks max (depends on the RPC provider). Alternatively, you can use something like Ethers scan API to get this information - https://docs.etherscan.io/api-endpoints/geth-parity-proxy#eth_getblockbynumber. Their free tier maybe enough for a personal project needs. Ethers js has a provider for Etherscan - https://docs.ethers.io/v5/api/providers/api-providers/#EtherscanProvider. However, it is currently not documented well and I personally never used it.