ONE COMMAND · .env → Makefile → scripts/deploy.sh
$ cp .env.example .env
# EEZ_L1_RPC_URL · EEZ_L1_POSTER_KEY · EEZ_PROOF_SIGNER_KEY · EEZ_L2_SYSTEM_KEY
$ make deploy-protocol
→
./scripts/deploy.sh
1 · DeployEEZ
2 · DeployECDSAProofSystem
3 · DeployRollup
4 · RegisterRollup
5 · DeployBridgeL1
One script, one run — deploy.sh runs the same five steps, in order, every time. It reads .env, and hard-fails if any of those four variables is unset.
PINNED
ROLLUP OPERATORS
How to deploy the protocol
Copy .env.example to .env and fill in four variables; then one command — make deploy-protocol — runs ./scripts/deploy.sh through its five 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 5-step sequence: DeployEEZ, DeployECDSAProofSystem, DeployRollup, RegisterRollup, DeployBridgeL1.
- 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 19 keys — deploy.sh hard-fails before writing a partial one.
Verified against eez-rollup0 @ a4b9b2f — pre-mainnet; interfaces may move.