This service will sync transactions from L2 to L1, it does not require a Prover to be working, just an RPC and Synchronizer.
Please perform each of these steps (downloading and running) before continuing!
By default the config files found in the repository will spin up the Node in JSON RPC Service mode, which will not require a Prover (but will require a MT and Executor service).
*This is considered to be the base, all modes require a Synchronizer Node container to be spun up
This will synchronize with the Trusted Sequencer (run by Polygon).
Use the default testnet config file, and make sure the following values are set to:
[RPC]
...
SequencerNodeURI = "https://public.zkevm-test.net:2083"
Same goes for the Prover Config (prover-config.json):
{
...
"runProverServer": false,
"runProverServerMock": false,
"runProverClient": false,
"runExecutorServer": true,
"runExecutorClient": false,
"runHashDBServer": true
}
Additionally, the production-setup.md
goes through the setup of both a synchronizer and RPC components of the node.
zkevm-sync
zkevm-prover
(Merkle Tree
,Executor
)zkevm-rpc
- Databases
This mode is a tad more complicated, as it will require more services and more machines:
Requirements for the Prover service (sans MT/Executor): 1TB RAM 128 cores
Please perform each of these steps (downloading and running) before continuing!
Machine 0:
- Synchronizer
- Aggregator
- MT and Executor
- Databases
Machine 1:
- Prover only
Use default prover config but change the following values (runProverServer
set to true, rest false):
For only Prover Config (only-prover-config.json
):
{
...
"runProverServer": true,
"runProverServerMock": false,
"runProverClient": false,
"runExecutorServer": false,
"runExecutorClient": false,
"runHashDBServer": false
}
zkevm-sync
zkevm-prover
(Prover
,Merkle Tree
,Executor
)zkevm-aggregator
- Databases