The EVM executes bytes produced by a compiler, not Solidity text.
LET’S PICTURE IT
A written recipe differs from the machine instructions used by an automated kitchen.
SEE IT FOR YOURSELF
Watch a stack machine execute a tiny programStep 1 / 4
The program bytes are PUSH1 02, PUSH1 03, ADD, STOP. The program counter begins at byte zero.
The program bytes are PUSH1 02, PUSH1 03, ADD, STOP. The program counter begins at byte zero.PUSH1 reads its next byte as an immediate value and places two on the stack. The next instruction begins at byte two.The next PUSH1 places three above two. Stack order matters for operations that are not commutative.ADD consumes the top two values and pushes five. The next instruction is STOP at byte five; no storage write is implied by ADD.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
Separate source and runtime
Solidity declarations describe program behavior at a higher level. Compilation produces byte sequences interpreted under the target EVM rules.
Distinguish creation code
Deployment input includes creation logic that can return runtime code. The deployed runtime is not generally the complete original deployment input.
Use build metadata
Compiler version, optimization and target settings affect output. Similar source names or comments do not establish a reproducible match to deployed code.
Read traces at the right layer
An opcode trace shows execution details that source maps can help relate to source. Optimized output may not follow source statements one instruction at a time.