Cronos zkEVM Mainnet
This guide covers running a node for Cronos zkEVM mainnet (Chain ID: 388) with external-node v24.9.0 on docker.
Pre-requisites
Docker and Docker-compose
Prepare your machine
This configuration is approximate and should be considered as minimal requirements:
8-core of CPU
64GB of RAM
1TB of SSD storage
Step 1: Download the DB Dump
1.1 - Download the DB dump
Create a new folder and download the dump file into it:
Step 2: Docker Preparations
2.1 - Pull Docker Image
Under the same directory, pull docker image from Github Container Registry:
2.2 - Create Docker Compose Configuration
Inside that directory, create and edit docker-compose.yml
:
Add the following configuration to docker-compose.yml
:
Step 3: Database Restoration
3.1 - Start PostgreSQL Container:
Please note postgres
was named in docker-compose.
When container is running, list containers to find the container ID:
Below is the example output:
3.2 - Restore Database from Dump
Run the following and docker retrieve and manipulate the data from data dump:
Example:
NOTE
<container_name> refers to the Container ID you obtained in the previous step. For example, in our case, it is
addfe6748b97
.The
username
anddatabase
names were defined in thedocker-compose
; in this example, they arezksync
and zksync, respectively.The
path_to_dump_you_attached_in_volumes_docker_compose
refers to the path specified in thevolumes
section of thedocker-compose
file. In our example, it is/dump/external_node_20240802.dump
.
During the process, on the docker side, you should see:
Depending on the specs, the process might take several hours.
Step 4: Run everything
Once the pg restore completed, start the cronoszk node service:
Example output should be like:
You should see in the Docker logs that the node is fetching block data from the RPCs.
For example:
Once the node is synchronized, you may use EN_HTTP_PORT: 3060
as defined for ETH-JSON RPC calls.
Last updated