This document covers common scenarios of launching zkSync applications set locally.
Prepare dev environment prerequisites: see setup-dev.md.
Setup:
zk # installs and builds zk itself
zk init
During the first initialization you have to download around 8 GB of setup files, this should be done once. If you have a
problem on this step of the initialization, see help for the zk run plonk-setup
command.
To completely reset the dev environment:
-
Stop services:
zk down
-
Repeat the setup procedure above
If zk init
has already been executed, and now you only need to start docker containers (e.g. after reboot), simply
launch:
zk up
zk contract redeploy
Env config files are held in etc/env/
List configurations:
zk env
Switch between configurations:
zk env <ENV_NAME>
Default confiruration is dev.env
, which is generated automatically from dev.env.example
during zk init
command
execution.
Run server:
zk server
Server is configured using env files in ./etc/env
directory. After the first initialization, file ./etc/env/dev.env
will be created. By default, this file is copied from the ./etc/env/dev.env.example
template.
Server can produce block of different sizes, the list of available sizes is determined by the
SUPPORTED_BLOCK_CHUNKS_SIZES
environment variable. Block sizes which will actually be produced by the server can be
configured using the BLOCK_CHUNK_SIZES
environment variable.
Note: for proof generation for large blocks requires a lot of resources and an average user machine is only capable of
creating proofs for the smallest block sizes. As an alternative, a dummy-prover may be used for development (see
development.md
for details).
Run prover:
zk prover
Make sure you have environment variables set right, you can check it by running: zk env
. You should see * dev
in
output.