You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/zkEVM/get-started/setup-nodes/production-node.md
+43-50Lines changed: 43 additions & 50 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,55 +2,49 @@
2
2
comments: true
3
3
---
4
4
5
-
Polygon zkEVM's Mainnet Beta is available for developers to launch smart contracts, execute transactions, and experiment with the network. This tutorial extends the exploration by allowing developers to launch their own production zkNode.
5
+
The Polygon zkEVM beta mainnet is available for developers to launch smart contracts, execute transactions, and experiment. This document shows you how to launch your own production zkNode.
6
6
7
-
Developers can setup a production node with either the Polygon zkEVM's mainnet or the Cardona testnet.
7
+
Developers can setup a production node with either the Polygon zkEVM mainnet or the Cardona testnet.
8
8
9
-
After spinning up an instance of the production zkNode, you will be able to run the Synchronizer and utilize the JSON-RPC interface.
9
+
After spinning up an instance of the production node, you can run the synchronizer and utilize the JSON-RPC interface.
10
10
11
11
!!!info
12
-
Sequencer and Prover functionalities are not covered in this document as they are still undergoing development and rigorous testing.
13
-
14
-
Syncing zkNode currently takes anywhere between 1-2 days depending on various factors. The team is working on snapshots to improve the syncing time.
12
+
- Sequencer and prover functionalities are not covered in this document as they are still undergoing development and rigorous testing.
13
+
- Syncing the zkNode currently takes anywhere between 1-2 days depending on various factors. The team is working on snapshots to improve the syncing time.
15
14
16
15
## Prerequisites
17
16
18
-
This tutorial requires `docker-compose` to have been installed.
17
+
This tutorial requires a [`docker-compose`](https://docs.docker.com/compose/install/) installation.
19
18
20
-
Please check the [official docker-compose installation guide](https://docs.docker.com/compose/install/) for this purpose.
19
+
Run the following to create a directory:
21
20
22
-
It is highly recommended that you create a separate folder for installing and working around the zkNode. We won't be cloning any repository (unlike [local zkNode setup](local-node.md)) so it's better to create a folder before starting the zkNode setup: ```mkdir -p /$HOME/zkevm-node```.
21
+
```sh
22
+
mkdir -p ~/zkevm-node
23
+
```
23
24
24
-
### Minimum system requirements
25
+
### Minimum hardware requirements
25
26
26
27
!!!caution
27
-
The zkProver does not work on ARM-based Macs yet. For Windows users, the use of WSL/WSL2 is not recommended.
28
-
29
-
Currently, zkProver optimizations require CPUs that support the AVX2 instruction, which means some non-M1 computers, such as AMD, won't work with the software regardless of the OS.
28
+
- The zkProver does not work on ARM-based Macs yet.
29
+
- For Windows users, the use of WSL/WSL2 is not recommended.
30
+
- Currently, zkProver optimizations require CPUs that support the AVX2 instruction, which means some non-M1 computers, such as AMD, won't work with the software regardless of the OS.
30
31
31
32
- 16GB RAM
32
33
- 4-core CPU
33
-
- 70GB Storage (This will increase over time)
34
-
35
-
!!!info About batch rate
36
-
Batches are closed every 10s, or whenever they are full (which can happen when there are high network loads).
37
-
Also, how frequent batches are closed is subject to change as it depends on the prevailing configurations.
38
-
The batch rate will always need to be updated accordingly.
34
+
-~250/350GB storage (increasing over time)
39
35
40
-
### Network components
36
+
### Software requirements
41
37
42
-
Here is a list of crucial network components that are required before you can run the production zkNode:
43
-
44
-
- An Ethereum Node, which could be Geth or any service providing a JSON RPC interface for accessing the L1 network can be used.
45
-
- zkEVM node (or zkNode), as the L2 network.
46
-
- Synchronizer, which is responsible for synchronizing data between L1 and L2.
47
-
- A JSON RPC Server, which acts as an interface to the L2 network.
38
+
- An Ethereum node; Geth or any service providing a JSON RPC interface for accessing the L1 network.
39
+
- zkEVM node (or zkNode) for the L2 network.
40
+
- Synchronizer which is responsible for synchronizing data between L1 and L2.
41
+
- A JSON RPC server which acts as an interface to the L2 network.
48
42
49
43
## Ethereum node setup
50
44
51
-
The Ethereum node is the first component to be set up. And it is because the Ethereum network takes a long time to synchronise. So, we start synchronising the Ethereum Node, and then begin to setup other components while waiting for the synchronisation to complete.
45
+
We set up the Ethereum node first as it takes a long time to synchronize.
52
46
53
-
There are numerous ways to set up an Ethereum L1 environment; we will use Geth for this. We recommend Geth, but a Sepolia node will suffice.
47
+
We recommend using Geth but a Sepolia node is OK too.
54
48
55
49
Follow the instructions provided in this [guide to setup and install Geth](https://geth.ethereum.org/docs/getting-started/installing-geth).
56
50
@@ -77,18 +71,8 @@ Let's start setting up our zkNode:
77
71
ZKEVM_CONFIG_DIR=./path_to_config
78
72
```
79
73
80
-
2. Download and extract the artifacts. Note that you may need to [install unzip](https://formulae.brew.sh/formula/unzip) before running this command. Also, the mainnet uses the latest version, and Cardona testnet uses a specific version.
74
+
2. Download and extract the artifacts. Note that you may need to [install unzip](https://formulae.brew.sh/formula/unzip) before running this command.
81
75
82
-
So use the next `curl`command specifically for Cardona, which uses version v0.6.3.
83
-
84
-
The recommended version of Cardona can be changed, so please check the `Testnet/Mainnet versions` section of [0xPolygonHermez Github](https://github.com/0xPolygonHermez):
0 commit comments