I am new to Ethereum. I know gas limit and gas price well. but still confused in
when sending a transaction to run a deployed contract, does Ethereum suggest an estimation of how much gas limit is needed to complete the transaction?
if so, How accurate is that estimation? In other words, will it always be completed successfully if only the estimation gas is being paid?
if no, How can i know/predict the gas needed?
For miners when they got a transaction to run a contract, are they able to know how much will it take to finish the execution (know how much gas limit (computational steps) this transaction costs) or they just know how much is the gas price?.
How validators verify that miners executed a contract correctly? will they re-execute it again or just validate the block without running contracts?
I tried to figure these out, but still not be able.
Thanks