In this track: Execution traces and low-level calls
advanced · 4 MIN READ

Low-level trace challenge set

Explain context, outcome and surviving effects together.

LET’S PICTURE IT

A complete investigation combines the people involved, the actions attempted and the records that remain.

SEE IT FOR YOURSELF
A valid counter call, step by stepStep 1 / 4
A valid counter call, step by stepFunction requestincrement()No argumentsBefore executionstored count0A local teaching example with a defined starting stateIncoming callCheck function dispatchCheck coded conditionsRules passConditions passContinue executionA failed check can revert insteadCalculation0 + 1Result: 1Storage writecount = 1Persists if call succeedsCalculating a local value and storing it are separate stepsPersistent statecount1Later readGetter reports 1No new incrementState, logs and browser display have different roles

This example begins with count zero and a request to call increment(). No real contract is deployed.

Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.

Challenge one: label context

For User to Proxy to delegated implementation, name code source, storage owner and immediate caller. Then compare the result with an ordinary CALL to that implementation.

Challenge two: follow a caught failure

A child writes and emits before reverting; its parent catches and succeeds. Identify which writes and logs survive and which only appear as attempts in a trace.

Challenge three: handle output costs

A target returns a very large payload. Explain why a successful call can still leave the parent with expensive memory-copy work and a possible later failure.

State what evidence is missing

A conceptual trace lacks live state, finalized inclusion and exact compiler context. Use it to explain mechanics while reserving real-world conclusions for matching execution evidence.

Follow the execution

For each frame record:
  call kind
  code address
  storage address
  caller and value
  outcome and returned bytes
  surviving effects

A local conceptual trace with explicit assumptions; this is not a trace of a live transaction.

QUICK CHECK · NO PRESSURE

Which description is essential for delegated storage analysis?

Your progress stays in this browser.
Keep exploring the original referenceethereum.org ↗

Original explanations by EtherTools. Examples are educational and source-linked; this site is independent of the Ethereum Foundation. Our approach.