// the find
fvictorio/evm-puzzles
A collection of EVM puzzles
Ten EVM bytecode puzzles where you must craft transactions (value, calldata, or both) that don't revert a contract with known bytecode. It's a hands-on way to learn how opcodes like CALLDATASIZE, CALLVALUE, JUMPI, and JUMP actually behave at the execution level. Aimed at Solidity developers who want to understand what's happening below the ABI.
Direct feedback loop — you see exactly which opcode reverts and why, which teaches EVM execution flow faster than reading docs. The evm.codes pairing is well-chosen; the playground lets you step through the bytecode interactively. Low friction to start: clone, npm install, one command. The puzzle format forces you to reason about stack state rather than just memorize opcode tables.
Ten puzzles is thin — you'll finish in an afternoon and there's nothing left. Last commit was 2023, so no new content is coming from this repo specifically (forks have added more). No explanations or solutions are included; if you get stuck there's no in-repo help, just GitHub issues and external writeups. The Hardhat dependency is heavy overhead for what is essentially a JSON file plus a small Node script — it's a lot of tooling for ten puzzles.