This is an automated archive.

The original was posted on /r/ethereum by /u/Angular2Fan on 2023-08-23 16:00:14+00:00.


I’m seeking clarification on how the eth_estimateGas

function operates under the hood. Does it run the smart contract in a manner similar to a dry run?

When I make a call to eth_estimateGas

, and I’ve intentionally hardcoded a failed require

statement within the contract, I get this error in the response. This behavior suggests that the function might execute the contract.

Could someone shed light on the internals of eth_estimateGas

and whether it indeed simulates a dry run of the contract, or if there’s a different mechanism at play?