advanced · 20 COMPLETE LESSONS

Execution traces and low-level calls

Begin with “Transaction context versus call context” and work toward “Low-level trace challenge set”. Each available lesson includes a visual explanation and a quick knowledge check.

Start this track →

Read in order or choose a topic below. Completion marks stay in this browser. All 20 lessons in this track are available.

  1. 01

    Transaction context versus call context

    One transaction can contain several message-call contexts.

    4 MIN READ
  2. 02

    msg.sender versus tx.origin

    The immediate caller and transaction originator can differ.

    4 MIN READ
  3. 03

    msg.value in nested calls

    Value belongs to a particular call context.

    4 MIN READ
  4. 04

    Contract creation with CREATE

    Creation executes initialization code and may return runtime code.

    4 MIN READ
  5. 05

    Deterministic creation with CREATE2

    Creator, salt and init-code hash determine a candidate address.

    4 MIN READ
  6. 06

    Init code versus runtime code

    Deployment instructions and installed instructions have different jobs.

    4 MIN READ
  7. 07

    Value transfer and call failures

    A value-bearing call can fail and must be handled deliberately.

    4 MIN READ
  8. 08

    Call depth and stack limits

    Frame nesting and stack item depth are separate constraints.

    4 MIN READ
  9. 09

    Gas forwarding and the 63/64 rule

    A requested gas amount is subject to forwarding rules.

    4 MIN READ
  10. 10

    Return-data griefing explained

    Large attacker-controlled output can make caller-side processing expensive.

    4 MIN READ
  11. 11

    Precompiles in the EVM

    Special addresses can expose protocol-defined computation.

    4 MIN READ
  12. 12

    SELFDESTRUCT after protocol changes

    Historical deletion assumptions do not describe every modern case.

    4 MIN READ
  13. 13

    Code size and deployment limits

    Runtime size, init-code size and execution gas are separate constraints.

    4 MIN READ
  14. 14

    Reentrancy across call frames

    An external handoff can lead back into unfinished application logic.

    4 MIN READ
  15. 15

    State rollback boundaries

    A child failure and a top-level failure have different enclosing scopes.

    4 MIN READ
  16. 16

    Static context restrictions

    Read-only execution rules extend across nested execution.

    4 MIN READ
  17. 17

    Inspect a delegatecall trace

    Track code source and state owner as separate columns.

    4 MIN READ
  18. 18

    Trace a failed token transfer

    Separate the call result, return value and state effects.

    4 MIN READ
  19. 19

    Trace proxy fallback execution

    A fallback can forward input and return the delegated outcome.

    4 MIN READ
  20. 20

    Low-level trace challenge set

    Explain context, outcome and surviving effects together.

    4 MIN READ

← Choose another track · See the full curriculum