Skip to content

Latest commit

 

History

History
102 lines (71 loc) · 2.88 KB

modes.md

File metadata and controls

102 lines (71 loc) · 2.88 KB

Configure the Node: Different modes of execution

JSON RPC Service:

This service will sync transactions from L2 to L1, it does not require a Prover to be working, just an RPC and Synchronizer.

Services needed:

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.

Docker services:

  • zkevm-sync
  • zkevm-prover (Merkle Tree, Executor)
  • zkevm-rpc
  • Databases

If you want to create Proofs:

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

Services needed:

Please perform each of these steps (downloading and running) before continuing!

Machine 0:

  • Synchronizer
  • Aggregator
  • MT and Executor
  • Databases

Machine 1:

  • Prover only

Machine 1

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
}

Docker services:

  • zkevm-sync
  • zkevm-prover (Prover, Merkle Tree, Executor)
  • zkevm-aggregator
  • Databases