Bird
Raised Fist0
Blockchain / Solidityprogramming~5 mins

Ethereum Virtual Machine (EVM) in Blockchain / Solidity - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the Ethereum Virtual Machine (EVM)?
The EVM is a virtual computer that runs smart contracts on the Ethereum blockchain. It executes code exactly as programmed, ensuring all nodes agree on the results.
Click to reveal answer
intermediate
How does the EVM ensure security and consistency?
The EVM runs code in a sandboxed environment, isolating it from the host system. It uses gas fees to limit resource use and prevent infinite loops, ensuring all nodes reach the same outcome.
Click to reveal answer
beginner
What is 'gas' in the context of the EVM?
Gas is a unit that measures the computational work required to execute operations on the EVM. Users pay gas fees to run smart contracts, which prevents abuse and compensates miners and validators.
Click to reveal answer
intermediate
Explain the role of bytecode in the EVM.
Smart contracts are compiled into bytecode, a low-level code the EVM understands and executes. This bytecode runs on every Ethereum node to maintain consensus.
Click to reveal answer
intermediate
What happens if a smart contract runs out of gas during execution?
If a contract runs out of gas, the EVM stops execution and reverts all changes made during that transaction. The user still pays for the gas used until that point.
Click to reveal answer
What does the EVM execute?
APython scripts
BJavaScript code
CSmart contract bytecode
DHTML pages
Why is gas used in the EVM?
ATo measure and pay for computation
BTo store data permanently
CTo create new Ethereum accounts
DTo speed up transactions
What happens if a transaction runs out of gas?
ATransaction completes successfully
BExecution stops and changes revert
CGas is automatically refilled
DThe contract code is deleted
Which environment does the EVM provide?
ASandboxed and isolated
BDirect access to hardware
CCloud-based only
DGraphical user interface
What language is typically compiled into EVM bytecode?
ARuby
BJava
CC++
DSolidity
Describe how the Ethereum Virtual Machine processes a smart contract transaction.
Think about how code runs, how resources are measured, and what happens if something goes wrong.
You got /5 concepts.
    Explain the importance of gas in the Ethereum Virtual Machine.
    Consider why running code on many computers needs a cost.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main role of the Ethereum Virtual Machine (EVM) in the Ethereum network?
      easy
      A. It executes smart contract bytecode to run decentralized applications.
      B. It stores user account balances and transaction history.
      C. It mines new Ethereum blocks using proof of work.
      D. It manages the Ethereum wallet user interface.

      Solution

      1. Step 1: Understand EVM's purpose

        The EVM is a virtual computer that runs smart contracts on Ethereum.
      2. Step 2: Identify correct role

        It executes compiled bytecode from smart contracts, enabling decentralized apps to run safely and consistently.
      3. Final Answer:

        It executes smart contract bytecode to run decentralized applications. -> Option A
      4. Quick Check:

        EVM runs smart contracts = B [OK]
      Hint: EVM runs code, not stores or mines [OK]
      Common Mistakes:
      • Confusing EVM with blockchain storage
      • Thinking EVM mines blocks
      • Mixing EVM with wallet software
      2. Which of the following is the correct way to represent a simple EVM instruction to add two numbers?
      easy
      A. ADD 5 3
      B. PUSH1 5 PUSH1 3 ADD
      C. LOAD 5 3 ADD
      D. SUM 5 3

      Solution

      1. Step 1: Recall EVM instruction format

        EVM uses stack operations like PUSH1 to push values, then ADD to add top stack items.
      2. Step 2: Identify correct instruction sequence

        "PUSH1 5 PUSH1 3 ADD" pushes 5 and 3, then adds them on the stack.
      3. Final Answer:

        PUSH1 5 PUSH1 3 ADD -> Option B
      4. Quick Check:

        Push values then add = C [OK]
      Hint: EVM uses PUSH and then operation instructions [OK]
      Common Mistakes:
      • Using invalid instructions like ADD 5 3 directly
      • Confusing LOAD with PUSH
      • Using non-EVM commands like SUM
      3. Given this EVM bytecode snippet:
      PUSH1 0x02
      PUSH1 0x03
      ADD

      What is the result on the stack after execution?
      medium
      A. 0x05
      B. 0x06
      C. 0x23
      D. 0x00

      Solution

      1. Step 1: Understand PUSH1 and ADD operations

        PUSH1 0x02 pushes 2, PUSH1 0x03 pushes 3, ADD adds top two stack values.
      2. Step 2: Calculate addition result

        2 + 3 = 5, so 0x05 remains on the stack.
      3. Final Answer:

        0x05 -> Option A
      4. Quick Check:

        2 + 3 = 5 = 0x05 [OK]
      Hint: Add pushed hex values on stack [OK]
      Common Mistakes:
      • Adding hex as strings instead of numbers
      • Confusing 0x02 + 0x03 as 0x06
      • Misreading PUSH1 as PUSH2
      4. Identify the error in this EVM bytecode sequence:
      PUSH1 0x01
      ADD
      medium
      A. No error; code is correct.
      B. PUSH1 opcode is invalid.
      C. ADD cannot be used after PUSH1.
      D. Missing second operand on stack for ADD instruction.

      Solution

      1. Step 1: Check stack before ADD

        PUSH1 0x01 pushes one value, but ADD needs two values on stack.
      2. Step 2: Identify missing operand

        Since only one value is pushed, ADD causes stack underflow error.
      3. Final Answer:

        Missing second operand on stack for ADD instruction. -> Option D
      4. Quick Check:

        ADD needs two stack values [OK]
      Hint: ADD requires two values on stack [OK]
      Common Mistakes:
      • Assuming ADD works with one operand
      • Thinking PUSH1 is invalid
      • Believing code is correct as is
      5. You want to write an EVM bytecode sequence that calculates (4 + 5) * 3. Which sequence correctly achieves this?
      hard
      A. PUSH1 0x03 PUSH1 0x04 ADD PUSH1 0x05 MUL
      B. PUSH1 0x04 PUSH1 0x05 MUL PUSH1 0x03 ADD
      C. PUSH1 0x04 PUSH1 0x05 ADD PUSH1 0x03 MUL
      D. PUSH1 0x04 PUSH1 0x03 MUL PUSH1 0x05 ADD

      Solution

      1. Step 1: Understand operation order

        (4 + 5) * 3 means add 4 and 5 first, then multiply by 3.
      2. Step 2: Match EVM instructions to operations

        PUSH1 0x04 PUSH1 0x05 ADD pushes 4 and 5, adds them; then PUSH1 0x03 MUL multiplies result by 3.
      3. Step 3: Check other options

        Options B, C, and D change operation order or operands, producing incorrect results (B: 23, C: 35, D: 17).
      4. Final Answer:

        PUSH1 0x04 PUSH1 0x05 ADD PUSH1 0x03 MUL -> Option C
      5. Quick Check:

        Add then multiply = A [OK]
      Hint: Add first, then multiply in EVM code [OK]
      Common Mistakes:
      • Changing operation order incorrectly
      • Confusing MUL and ADD positions
      • Ignoring operator precedence
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard