Twenty-four walkthroughs is a lot to land on. Dapp developers start with the Quickstart, then go deeper in the reference track. Rollup operators and protocol researchers each get a reading order through the walkthroughs that already exist, and the reason each step follows the last.
Start with the Quickstart: seven numbered cards in four phases, plus a coming-soon deploy card, from one call across two rollups to patterns you can copy. EEZ-X is live on Ethereum mainnet: try it on the mainnet dashboard ↗, or point Foundry at it with the deploy page.
Card 00: your L1 contract gets an L2 contract's return value back in the same transaction.
Cards 01–03: run a round trip on local chains, read your side of it, and see who answered.
Card 04: two gotchas before you build. Deploying your own contract with the Remix cross-chain plugin is coming soon.
Cards 05–06: a cross-chain flash loan, and tokens bridged both ways.
Then go deeper, in this order: your contract's address on another rollup, calling a contract on another rollup, msg.sender across chains, is this address a proxy, how the guard makes sure only proxy calls reach execution, encoding a call's content hash, reading another rollup's state.
Four steps as runnable tests, on your own machine: read another rollup’s state, call it, use its answer in the same transaction, then the msg.sender surprise. No testnet, no Docker — the snippets carry no forge-std and no submodules, so they build on a bare checkout. You need Foundry v1.7.1 and nothing else.
git clone https://github.com/eez-association/eez-demos.git cd eez-demos/starter && ./run.sh # or run one step at a time, from eez-demos/snippets: forge test --match-test test_routedReadReturnsThePreCommittedEntry -vv # step 1 forge test --match-test test_staticcallTakesTheReadPath -vv # step 2 forge test --match-test test_theBranchTracksTheValueNotTheSuccessFlag -vv # step 3 forge test --match-test test_sameChainCheck_revertsWhenCalledViaProxy -vv # step ! # expected: ./run.sh prints steps 1, 2, 3 and !, each ending # pass # then "4 passed, 0 failed". A failing step prints its test output.
Already a sequence — it just was never labelled as one. Each step assumes the one before it.
Learn how to bring up the node, proof-signer and the L1 in a disposable network.
Learn what lands on L1 and L2, and in what order, once the network is up.
Learn what changes when the L1 underneath you is Chiado rather than a disposable devnet.
Learn how to drive traffic through the stack you just brought up, and how to tell that it worked.
What the system is, then the two decisions that shape everything else about it.
Learn how sequencer, composer, proof-signer and deriver each fit.
Learn why the L2 block is added immediately, and what happens to it if L1 never confirms it.
Learn what is actually checked before a batch is accepted, and by whom.
Reference, when you need them: the deriver, how the address is derived, the rolling hash.