ONE COMMAND · .env → Makefile → scripts/deploy.sh
$ cp .env.example .env
# EEZ_L1_RPC_URL · EEZ_L1_POSTER_KEY · EEZ_PROOF_SIGNER_KEY
$ make deploy-protocol
→
./scripts/deploy.sh
1 · DeployEEZ
2 · DeployECDSAProofSystem
3 · DeployRollup
4 · RegisterRollup
One script, one run — deploy.sh first renders the L2 genesis against a finalized L1 reference, then runs the same four steps, in order, every time. It reads .env, and hard-fails if any of those three variables is unset.
ROLLUP OPERATORS
How to deploy the protocol
Copy .env.example to .env and fill in three variables; then one command — make deploy-protocol — renders the L2 genesis and runs ./scripts/deploy.sh through its four deploy steps.
Every address it produces lands in a gitignored deployments.env file, not your notes.
WHAT YOU'LL LEARN
- 01 · ONE COMMANDWith .env in place, make deploy-protocol runs the 4-step sequence: DeployEEZ, DeployECDSAProofSystem, DeployRollup, RegisterRollup.
- 02 · OUTPUTS LAND IN DEPLOYMENTS.ENVEvery address deploy.sh produces lands in a gitignored deployments.env file.
- 03 · RUN-NODE JUST WORKSmake run-node loads deployments.env alongside .env at startup, so there’s no paste-the-address-into-.env step.
YOU KNOW IT WORKED · deployments.env exists and holds 24 keys — deploy.sh hard-fails before writing a partial one.
Verified against eez-rollupX Git commit 2c19e36; interfaces may move.