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/cdk/get-started/deploy-rollup/create-wallets.md
+6-9Lines changed: 6 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,4 @@
1
-
2
-
Continue with the **third step** of this deployment-guide where you create wallets and deploy contracts.
3
-
4
-
## Deploying contracts
1
+
## Clone the contracts
5
2
6
3
Clone the contracts from our [github repository](https://github.com/0xPolygonHermez/zkevm-contracts):
7
4
@@ -12,7 +9,7 @@ cd ~/zkevm-contracts
12
9
npm i
13
10
```
14
11
15
-
###Create wallets
12
+
## Create wallets
16
13
17
14
Next, create a `wallets.js` file with the following content:
18
15
@@ -54,7 +51,7 @@ Generate the wallets using below command:
54
51
node wallets.js | tee wallets.txt
55
52
```
56
53
57
-
###Prepare deploy configuration
54
+
## Prepare deploy configuration
58
55
59
56
Edit the environment variables:
60
57
@@ -119,7 +116,7 @@ Only fill in the commented fields in your `deploy_parameters.json` file:
119
116
!!!caution
120
117
Get some GöETH
121
118
122
-
You will need to send 0.5 GöETH to the Deployment Address wallet listed in `wallets.txt`.
119
+
You will need to send 0.5 GöETH to the deployment address wallet listed in `wallets.txt`.
123
120
124
121
Adjust the `gasPrice` according to the network status. For Goerli, you can check it with the following command, where you insert your Etherscan API key, note this can sometimes be 0 for testnet:
125
122
@@ -134,7 +131,7 @@ vim ~/zkevm-contracts/deployment/helpers/deployment-helpers.js
134
131
constgasPriceKeylessDeployment="50"; // 50 gwei
135
132
```
136
133
137
-
###Deploy contracts
134
+
## Deploy contracts
138
135
139
136
```bash
140
137
cd~/zkevm-contracts/
@@ -152,4 +149,4 @@ You will see in the logs the verification of each smart contract deployed, but y
152
149
```html
153
150
https://goerli.etherscan.io/address/0x -> Put the Deployment Address wallet from
Copy file name to clipboardExpand all lines: docs/cdk/get-started/deploy-rollup/install-dependencies.md
+1-11Lines changed: 1 addition & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,3 @@
1
-
2
-
Continue with the **second step** of this deployment-guide where you install dependencies and download mainnet files.
3
-
4
-
## Install dependencies
5
-
6
1
First, install base dependencies:
7
2
8
3
```bash
@@ -43,7 +38,7 @@ Lastly, confirm the installation of Golang by running this command: `$ go versio
43
38
44
39
## Download/extract mainnet files
45
40
46
-
Next step in the process is to download the zkEVM Mainnet files. This download is over **70GB**, so it's recommended to run the download in a tmux/screen session to handle any network interruptions.
41
+
Next step in the process is to download the mainnet files. This download is over **70GB**, so it's recommended to run the download in a tmux/screen session to handle any network interruptions.
47
42
48
43
The files are located in several urls, so a script can be used as shown below:
Copy file name to clipboardExpand all lines: docs/cdk/get-started/deploy-rollup/intro.md
+33-38Lines changed: 33 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,43 +1,38 @@
1
-
Welcome to your step-by-step guide to implementing a full Polygon zkEVM network on the Goërli testnet as the L1 network.
1
+
Welcome to your step-by-step guide to implementing a full CDK zkRollup EVM-compatible network on the Goërli testnet as the L1 network.
2
2
3
-
Users with good internet connection can schedule a 2-hour window for completing the entire process in one go.
4
-
5
-
However, in order to allow for in-between breaks, the process is aesthetically split into 6 steps.
6
-
7
-
-[**First step**](index.md): Preliminary setup, checking system requirements and prerequisites variables.
3
+
-[**First step**](intro.md): Preliminary setup, checking system requirements, and prerequisite variables.
8
4
9
5
-[**Second step**](install-dependencies.md): Installing dependencies and downloading mainnet files.
10
6
11
7
-[**Third step**](create-wallets.md): Creating wallets and deploying contracts.
12
8
13
-
-[**Fourth step**](deploy-zknode.md): Deployment of the zkNode.
9
+
-[**Fourth step**](deploy-node.md): Deployment of the zkRollup EVM-compatible node.
14
10
15
-
-[**Fifth step**](configure-prover.md): Configuring the Prover and services.
11
+
-[**Fifth step**](configure-prover.md): Configuring the prover and services.
16
12
17
13
-[**Sixth step**](setup-goerli-node.md): Activating forced txs and bridging/claiming assets.
18
14
19
15
!!!caution
20
-
Instructions in this document are subject to frequent updates as the zkEVM software is still in early development stages.
21
-
22
-
Please report [here](https://support.polygon.technology/support/tickets/new) or reach out to our [support team on Discord](https://discord.com/invite/0xPolygon) if you encounter any issues.
16
+
- Instructions in this document are subject to frequent updates as the software is still in early development stages.
17
+
- Please [open a ticket](https://support.polygon.technology/support/tickets/new) or reach out to our [support team on Discord](https://discord.com/invite/0xPolygon) if you encounter any issues.
23
18
24
19
## Overview and setting up
25
20
26
-
Implementing the full stack Polygon zkEVM involves more than just running an RPC zkNode or the Prover to validate batches, and deploying Smart Contracts. In its entirety, it encompasses all these processes and more.
21
+
Implementing the full stack Polygon CDK zkRollup EVM-compatible network involves more than just running an RPC zkNode or the Prover to validate batches and deploy smart contracts. In its entirety, it encompasses all these processes and more.
27
22
28
-
The common rollup actors, mainly from the zkNode view, are the Sequencer, the Aggregator, the Synchroniser and the JSON RPC node. All these affect the L2 State.
23
+
The common rollup actorsare the sequencer, the aggregator, the synchroniser and the JSON RPC node. All these affect the L2 state.
29
24
30
-
Also, the Aggregator uses the Prover to avail verifiable proofs of sequenced batches. And the sequenced batches are composed of transactions taken from the Pool DB.
25
+
Also, the aggregator uses the prover to avail verifiable proofs of sequenced batches. And the sequenced batches are composed of transactions taken from the pool database.
31
26
32
-
This highlights just a few main components. The rest of the zkEVM components and those working in the background, are listed in the next subsection.
27
+
This highlights just a few main components. The rest of the components and those working in the background, are listed in the next subsection.
33
28
34
-
### Why you need docker
29
+
### Why you need Docker
35
30
36
-
The modular design of the zkEVM allows for most components to be separately instantiated, and we therefore run each of these instances in a separate Docker container.
31
+
The modular design of the CDK zkRollup EVM-compatible network allows for most components to be separately instantiated, and we therefore run each of these instances in a separate Docker container.
37
32
38
-
The below table enlists all the zkEVM components/services and their corresponding container-names.
33
+
The below table enlists all the CDK zkRollup EVM-compatible components/services and their corresponding container-names.
39
34
40
-
Our zkEVM deployment-guide provides CLI commands to automatically create these Docker containers.
35
+
Our CDK zkRollup EVM-compatible network deployment-guide provides CLI commands to automatically create these Docker containers.
| zkEVM Explorer DB | zkevm-explorer-l2-db | Database for the L2 network's Block explorer. i.e., Where all the zkEVM Etherscan Explorer queries are made. |
58
-
| Gas Pricer| zkevm-l2gaspricer | Responsible for suggesting the gas price for the L2 network fees. |
| zkEVM explorer DB | zkevm-explorer-l2-db | Database for the L2 network's Block explorer. i.e., Where all the zkEVM Etherscan Explorer queries are made. |
53
+
| Gas pricer| zkevm-l2gaspricer | Responsible for suggesting the gas price for the L2 network fees. |
The **first step** of this deployment-guide begins here!
64
59
65
60
### Preliminary setup
66
61
67
-
Implementing the Polygon zkEVM requires either a Linux machine or a virtual machine running Linux as a Guest OS.
62
+
Implementing the Polygon CDK zkRollup EVM-compatible network requires either a Linux machine or a virtual machine running Linux as a Guest OS.
68
63
69
-
Since the zkEVM implementation involves running Docker containers, ensure that a Docker daemon is installed on your machine.
64
+
Since the CDK zkRollup implementation involves running Docker containers, ensure that a Docker daemon is installed on your machine.
70
65
71
66
Here's how to get setup;
72
67
73
68
For Linux machines, install the Docker engine directly on the machine.
74
69
75
-
For other Operating Systems (MacOS, Windows), this is achieved in 4 steps, executed in the given sequential order;
70
+
For other operating systems (MacOS, Windows), this is achieved in 4 steps, executed in the given sequential order;
76
71
77
72
- Install a hypervisor, e.g., VirtualBox, VMware Fusion (MacOS), VMware Workstation (Windows), VMware ESXi (Bare Metal Hypervisor).
78
73
- Setup a virtual machine, e.g., if you are using VirtualBox, which is open-source, Vagrant is the quickest way to automatically setup a virtual machine and also set up ssh private/public keys.
79
74
- Install Linux as Guest OS, preferably the latest version of Ubuntu Linux.
Search the internet for quick guides on creating virtual machines. Here's an example of a video on [How to Create a Linux Virtual Machine on a Mac](https://www.youtube.com/watch?v=KAd7FafXfJQ).
77
+
Search the internet for quick guides on creating virtual machines. Here's an example of a video on [how to create a Linux VM on a Mac](https://www.youtube.com/watch?v=KAd7FafXfJQ).
83
78
84
-
In order to run multiple Docker containers, an extra tool called **docker compose** needs to be [downloaded and installed](https://docs.docker.com/compose/install/linux/). As you will see, a YAML file is used for configuring all zkEVM services.
79
+
In order to run multiple Docker containers, an extra tool called **docker compose** needs to be [downloaded and installed](https://docs.docker.com/compose/install/linux/). As you will see, a YAML file is used for configuring all CDK zkRollup services.
85
80
86
81
!!!info
87
-
One more thing, since the Prover is resource-heavy, you will need to run its container externally. Access to cloud computing services such as AWS EC2 or DigitalOcean will be required.
82
+
One more thing, since the prover is resource-heavy, you will need to run its container externally. Access to cloud computing services such as AWS EC2 or DigitalOcean will be required.
88
83
89
84
### Prerequisites
90
85
@@ -104,32 +99,32 @@ See this guide here for [**setting up your own Goërli node**](setup-goerli-node
104
99
105
100
#### Computing requirements
106
101
107
-
Keep in mind that the mainnet files you will be downloading are 70GB big.
102
+
Keep in mind that the mainnet files you will be downloading are 70GB in size.
108
103
109
-
If the Prover is the only container you will be running externally in a cloud, then it is preferable to have a minimum 300GB of storage in the primary machine.
104
+
If the prover is the only container you will be running externally in a cloud, then it is preferable to have a minimum 300GB of storage in the primary machine.
110
105
111
106
Depending on the user's resources, the zkEVM network can be implemented with either the actual full prover or the mock prover.
112
107
113
108
The full prover is resource-intensive as it utilizes the exact same proving stack employed in the real and live zkEVM network.
114
109
115
110
!!!info
116
-
The full Prover's system requirements are:
111
+
The full prover's system requirements are:
117
112
118
113
- 96-core CPU
119
114
- Minimum 768GB RAM
120
115
121
-
The Mock Prover is a dummy prover which simply adds a "Valid ✅" checkmark to every batch.
116
+
The mock prover is a dummy prover which simply adds a "Valid ✅" checkmark to every batch.
122
117
123
118
!!!info
124
-
The mock Prover, on the other hand, only requires:
119
+
The mock prover, on the other hand, only requires:
125
120
126
121
- 4-core CPU
127
122
- 8GB RAM (16GB recommended)
128
123
129
124
As an example, the equivalent [AWS EC2s](https://aws.amazon.com/ec2/instance-types/r6a/) for each of these two provers are as follows:
130
125
131
-
- r6a.xlarge for mock Prover
132
-
- r6a.24xlarge for full Prover
126
+
- r6a.xlarge for mock prover.
127
+
- r6a.24xlarge for full prover.
133
128
134
129
The initial free disk space requirement is minimal (<2TB), but you should monitor available space as the network is always adding more data.
0 commit comments