This document will guide you through all the steps needed to setup your own zkEVM-Node
for production.
Currently the Executor/Prover does not run on ARM-powered Macs. For Windows users, WSL/WSL2 use is not recommended.
- Recommended specs:
- Node: 16G RAM 4 cores
- Prover: 1TB RAM 128 cores
- Unfortunately, M1 chips are not supported - for now since some optimizations on the prover require specific Intel instructions, this means some non-M1 computers won't work regardless of the OS, eg: AMD
Required:
Ethereum Node
- L1 NetworkzkEVM-Node
- L2 NetworkJSON RPC Server
- Interface to L2 networkSynchronizer
- Responsible to synchronize data between L1 and L2Sequencer
- Responsible to select transactions from the pool and propose new batchesAggregator
- Responsible to consolidate the changes in the state proposed by theSequencers
zk-Prover
- Zero knowledge proof generator
Optional:
Metamask
- Wallet to manage blockchain accountsBlock Scout Explorer
- Web UI to interact with the network information
The current version of the environment requires go
, docker
and docker-compose
to be previously installed, check the links bellow to understand how to install them:
- https://go.dev/doc/install or just
sudo snap install go --classic
sudo snap install docker
Before we start:
It's very important to say that the Prover is a software that requires a lot of technology power to be executed properly, with that said, we recommend you to have a dedicated machine with the following configuration to run the prover:
- 128 CPU cores
- 1TB RAM
git clone [email protected]:0xblock-co/ModulusChain.git
cd ModulusChain
Modify ./acc.keystore
file
Config database user/password in ./docker-compose.yml
make run-rpc
make run-explorer
make run-bridge