As far as I understand when a smart contract function is called this smart contract will be executed by all nodes but only the node that mines it will get the gas. Now if that smart contract function for example moves some money from one account to another how can the money be moved only once if the smart contract is executed multiple times?

1 Answer 1


The miner alone gets to specify the final state. All the other nodes that execute the contract are only checking that the miner executed the transaction correctly before they add the transaction (actually the block containing the transaction) to their local copies of the blockchain.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.