We maintain a suite of custom Docker images tailored specifically for deploying the CDK stack. These images serve various purposes, including hosting distinct zkEVM contracts (each fork tagged separately), adapting the bridge UI to support relative URLs, and applying specific workloads.
If you ever need to build these images locally, here's a brief guide.
Provision an Ubuntu/Debian VM.
Switch to admin.
sudo su
Install docker.
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" |tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install --yes docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
docker run hello-world
Clone the repository.
mkdir /tmp/kurtosis-cdk
git clone https://github.com/0xPolygon/kurtosis-cdk /tmp/kurtosis-cdk
Move to the docker
folder.
pushd /tmp/kurtosis-cdk/docker
This image contains all the npm dependencies and zkevm contracts compiled for a specific fork id.
Click to expand
Build the zkevm-contracts
image.
version="v8.0.0-rc.3-fork.12"
docker build . \
--tag local/zkevm-contracts:$version \
--build-arg ZKEVM_CONTRACTS_BRANCH=$version \
--build-arg POLYCLI_VERSION=main \
--file zkevm-contracts.Dockerfile
$ docker images --filter "reference=local/zkevm-contracts"
REPOSITORY TAG IMAGE ID CREATED SIZE
local/zkevm-contracts v8.0.0-rc.3-fork.12 25217fcaa683 28 seconds ago 2.53GB
From now on, the leovct/zkevm-contracts image tags will follow the same tags as 0xPolygonHermez/zkevm-contracts.
Fork ID | zkEVM Contracts Tag / Commit | Image |
---|---|---|
9-RC1 | v6.0.0-rc.1-fork.9 | leovct/zkevm-contracts:v6.0.0-rc.1-fork.9 |
11-a5eacc6e | a5eacc6e | leovct/zkevm-contracts:a5eacc6e-fork.11 |
11-RC1 | v7.0.0-rc.1-fork.10 | leovct/zkevm-contracts:v7.0.0-rc.1-fork.11 |
11-RC2 | v7.0.0-rc.2-fork.10 | leovct/zkevm-contracts:v7.0.0-rc.2-fork.11 |
12-RC1 | v8.0.0-rc.1-fork.12 | leovct/zkevm-contracts:v8.0.0-rc.1-fork.12 |
12-RC2 | v8.0.0-rc.2-fork.12 | leovct/zkevm-contracts:v8.0.0-rc.2-fork.12 |
12-RC3 | v8.0.0-rc.3-fork.12 | leovct/zkevm-contracts:v8.0.0-rc.3-fork.12 |
The following tags are now deprecated:
Fork ID | Branch |
---|---|
fork4 | v1.1.0-fork.4 |
fork5 | v2.0.0-fork.5 |
fork6 | v3.0.0-fork.6 |
fork7 | v4.0.0-fork.7 |
fork8 | v5.0.1-rc.2-fork.8 |
fork9 | v6.0.0-rc.1-fork.9 |
fork10 | v7.0.0-rc.1-fork.10 |
fork11 | a5eacc6e51d7456c12efcabdfc1c37457f2219b2 |
fork12 | v8.0.0-rc.1-fork.12 |
This image contains an enhanced version of the zkEVM bridge UI with relative URL support enabled.
Click to expand
Build the zkevm-bridge-ui
image.
docker build zkevm-bridge-ui \
--tag local/zkevm-bridge-ui:local \
--build-arg ZKEVM_BRIDGE_UI_TAG=develop \
--file zkevm-bridge-ui/zkevm-bridge-ui.Dockerfile
$ docker images --filter "reference=local/zkevm-bridge-ui"
REPOSITORY TAG IMAGE ID CREATED SIZE
local/zkevm-bridge-ui local 040905e1cabe 28 seconds ago 377MB
This image contains different tools to interact with blockchains such as polycli
or cast
.
Click to expand
Build the toolbox
image.
docker build . \
--tag local/toolbox:local \
--build-arg POLYCLI_VERSION=main \
--file toolbox.Dockerfile
$ docker images --filter "reference=local/toolbox"
REPOSITORY TAG IMAGE ID CREATED SIZE
local/toolbox local 3f85f026aaf9 2 seconds ago 490MB