← Quickstarts

Start here

Seventeen walkthroughs is a lot to land on. These are three reading orders through the ones that already exist — one per audience. No new material, just the order that makes them make sense and the reason each step follows the last.

[ DAPP DEVELOPERS · ABOUT TEN MINUTES ]

Three functions, then the one surprise worth knowing before you build anything. Here to ship, not read? Deploy a contract on the EEZ testnet — about fifteen minutes, no walkthroughs required.

01How to read another rollup's state from your contract

Learn how the answer is written down before your transaction runs, instead of being fetched while you wait.

WATCH THE 3-STEP WALKTHROUGH

02How to use another chain's answer in the same transaction

THE DIFFERENTIATOR

Learn how the value that comes back decides what the rest of your transaction does — and why that removes the callback, the timeout and the retry you would otherwise have to write.

WATCH THE 3-STEP WALKTHROUGH

03Why msg.sender isn't your contract on the other side

BEFORE YOU BUILD

Learn why every onlyOwner, allowlist and approve on the far side keys to a proxy address instead of your contract — and why nothing reverts when it does.

WATCH THE 3-STEP WALKTHROUGH

Then, when you hit them: is this address a proxy, why you can't call the manager directly, your contract's address on another rollup, encoding a call's content hash.

Run all three locally

The same three steps as runnable tests, on your own machine. 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/0xarmagan/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   # 01
forge test --match-test test_theBranchTracksTheValueNotTheSuccessFlag -vv # 02
forge test --match-test test_sameChainCheck_revertsWhenCalledViaProxy -vv # 03

# expected: ./run.sh prints one line per step, all three ending
#   pass
# anything else prints the failing test's output below the step.

[ 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.

WATCH 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.

WATCH 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.

WATCH THE 3-STEP WALKTHROUGH

04How to send and test cross-chain calls

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

WATCH 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.

WATCH THE 3-STEP WALKTHROUGH

02How L1 stays the source of truth

Learn why the L2 block is added immediately and rolled back if L1 never confirms it.

WATCH THE 3-STEP WALKTHROUGH

03How the composer attests a batch

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

WATCH 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