← Quickstarts

Start here

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.

[ DAPP DEVELOPERS ]

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.

Understand

START HERE

Card 00: your L1 contract gets an L2 contract's return value back in the same transaction.

START WITH CARD 00 →

See it work

Cards 01–03: run a round trip on local chains, read your side of it, and see who answered.

CARDS 01–03 →

Make it real

Card 04: two gotchas before you build. Deploying your own contract with the Remix cross-chain plugin is coming soon.

CARD 04 →

Build patterns

Cards 05–06: a cross-chain flash loan, and tokens bridged both ways.

CARDS 05–06 →

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.

Run the tests offline

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.

[ ROLLUP OPERATORS ]

Already a sequence — it just was never labelled as one. Each step assumes the one before it.

01How to run the whole stack locally

Learn how to bring up the node, proof-signer and the L1 in a disposable network.

OPEN THE 3-STEP WALKTHROUGH →

02How to deploy the protocol

Learn what lands on L1 and L2, and in what order, once the network is up.

OPEN THE 3-STEP WALKTHROUGH →

03How to run against a real testnet

Learn what changes when the L1 underneath you is Chiado rather than a disposable devnet.

OPEN THE 3-STEP WALKTHROUGH →

04How to send and test a cross-chain call

Learn how to drive traffic through the stack you just brought up, and how to tell that it worked.

OPEN THE 3-STEP WALKTHROUGH →

[ PROTOCOL RESEARCHERS ]

What the system is, then the two decisions that shape everything else about it.

01How the four components divide the work

Learn how sequencer, composer, proof-signer and deriver each fit.

OPEN THE 3-STEP WALKTHROUGH →

02How L1 stays the source of truth

Learn why the L2 block is added immediately, and what happens to it if L1 never confirms it.

OPEN THE 3-STEP WALKTHROUGH →

03How the composer attests a batch

Learn what is actually checked before a batch is accepted, and by whom.

OPEN THE 3-STEP WALKTHROUGH →

Reference, when you need them: the deriver, how the address is derived, the rolling hash.

EEZ QUICKSTARTS All walkthroughs llms.txt GitHub