Skip to content

Commit 10cb4aa

Browse files
Update quickstart-rollup.md
removing link to zkevm docs and adding the cpntent here
1 parent 87c3264 commit 10cb4aa

File tree

1 file changed

+238
-1
lines changed

1 file changed

+238
-1
lines changed

docs/cdk/get-started/quickstart-rollup.md

Lines changed: 238 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,243 @@
44

55
## Run a CDK rollup locally
66

7-
The following link takes you to a quickstart guide for deploying a CDK rollup on your local machine.
7+
The following is a quickstart guide for deploying a CDK rollup (zkevm-node) on your local machine.
8+
9+
# Steps to run/develop on the environment locally
10+
11+
# Warning:
12+
13+
>Currently the Executor/Prover does not run on ARM-powered Macs. For Windows users, WSL/WSL2 use is not recommended.
14+
15+
## Overview
16+
17+
This documentation will help run the following components:
18+
19+
- zkEVM Node Databases
20+
- Explorer Databases
21+
- L1 Network
22+
- Prover
23+
- zkEVM Node components
24+
- Explorers
25+
26+
## Requirements
27+
28+
The current version of the environment requires `go`, `docker` and `docker-compose` to be previously installed, check the links below to understand how to install them:
29+
30+
- <https://go.dev/doc/install>
31+
- <https://www.docker.com/get-started>
32+
- <https://docs.docker.com/compose/install/>
33+
34+
The `zkevm-node` docker image must be built at least once and every time a change is made to the code.
35+
If you haven't build the `zkevm-node` image yet, you must run:
36+
37+
```bash
38+
make build-docker
39+
```
40+
41+
## A look at how the binary works:
42+
43+
The `zkevm-node` allows certain commands to interact with smart contracts, run certain components, create encryption files and print out debug information.
44+
45+
To interact with the binary program we provide docker compose files, and a Makefile to spin up/down the different services and components, ensuring a smooth deployment locally and better interface in command line for developers.
46+
47+
## Controlling the environment
48+
49+
> All the data is stored inside of each docker container, this means once you remove the container, the data will be lost.
50+
51+
To run the environment:
52+
53+
The `test/` directory contains scripts and files for developing and debugging.
54+
55+
```bash
56+
cd test/
57+
```
58+
59+
Then:
60+
61+
```bash
62+
make run
63+
```
64+
65+
To stop the environment:
66+
67+
```bash
68+
make stop
69+
```
70+
71+
To restart the environment:
72+
73+
```bash
74+
make restart
75+
```
76+
77+
## Sample data
78+
79+
The `make run` will execute the containers needed to run the environment but this will not execute anything else, so the L2 will be basically empty.
80+
81+
If you need sample data already deployed to the network, we have the following scripts:
82+
83+
**To add some examples of transactions and smart contracts:**
84+
85+
```bash
86+
make deploy-sc
87+
```
88+
89+
**To deploy a full uniswap environment:**
90+
91+
```bash
92+
make deploy-uniswap
93+
```
94+
95+
**To grant the Pol smart contract a set amount of tokens, run:**
96+
97+
```bash
98+
make run-approve-pol
99+
```
100+
101+
## Accessing the environment
102+
103+
- **Databases**:
104+
- zkEVM Node *State* Database
105+
- `Type:` Postgres DB
106+
- `User:` state_user
107+
- `Password:` state_password
108+
- `Database:` state-db
109+
- `Host:` localhost
110+
- `Port:` 5432
111+
- `Url:` <postgres://state_user:srare_password@localhost:5432/state-db>
112+
- zkEVM Node *Pool* Database
113+
- `Type:` Postgres DB
114+
- `User:` pool_user
115+
- `Password:` pool_password
116+
- `Database:` pool_db
117+
- `Host:` localhost
118+
- `Port:` 5433
119+
- `Url:` <postgres://pool_user:pool_password@localhost:5433/pool_db>
120+
- zkEVM Node *JSON-RPC* Database
121+
- `Type:` Postgres DB
122+
- `User:` rpc_user
123+
- `Password:` rpc_password
124+
- `Database:` rpc_db
125+
- `Host:` localhost
126+
- `Port:` 5434
127+
- `Url:` <postgres://rpc_user:rpc_password@localhost:5434/rpc_db>
128+
- Explorer L1 Database
129+
- `Type:` Postgres DB
130+
- `User:` l1_explorer_user
131+
- `Password:` l1_explorer_password
132+
- `Database:` l1_explorer_db
133+
- `Host:` localhost
134+
- `Port:` 5435
135+
- `Url:` <postgres://l1_explorer_user:l1_explorer_password@localhost:5435/l1_explorer_db>
136+
- Explorer L2 Database
137+
- `Type:` Postgres DB
138+
- `User:` l2_explorer_user
139+
- `Password:` l2_explorer_password
140+
- `Database:` l2_explorer_db
141+
- `Host:` localhost
142+
- `Port:` 5436
143+
- `Url:` <postgres://l2_explorer_user:l2_explorer_password@localhost:5436/l2_explorer_db>
144+
- **Networks**:
145+
- L1 Network
146+
- `Type:` Geth
147+
- `Host:` localhost
148+
- `Port:` 8545
149+
- `Url:` <http://localhost:8545>
150+
- zkEVM Node
151+
- `Type:` JSON RPC
152+
- `Host:` localhost
153+
- `Port:` 8123
154+
- `Url:` <http://localhost:8123>
155+
- **Explorers**:
156+
- Explorer L1
157+
- `Type:` Web
158+
- `Host:` localhost
159+
- `Port:` 4000
160+
- `Url:` <http://localhost:4000>
161+
- Explorer L2
162+
- `Type:` Web
163+
- `Host:` localhost
164+
- `Port:` 4001
165+
- `Url:` <http://localhost:4001>
166+
- Prover
167+
- `Type:` Mock
168+
- `Host:` localhost
169+
- `Port:` Depending on the prover image, if it's mock or not:
170+
- Prod prover: 50052 for Prover, 50061 for Merkle Tree, 50071 for Executor
171+
- Mock prover: 43061 for MT, 43071 for Executor
172+
- `Url:` <http://localhost:50001>
173+
## Metamask
174+
175+
> Metamask requires the network to be running while configuring it, so make sure your network is running before starting.
176+
177+
To configure your Metamask to use your local environment, follow these steps:
178+
179+
1. Log in to your Metamask wallet
180+
2. Click on your account picture and then on Settings
181+
3. On the left menu, click on Networks
182+
4. Click on `Add Network` button
183+
5. Fill up the L2 network information
184+
1. `Network Name:` Polygon zkEVM - Local
185+
2. `New RPC URL:` <http://localhost:8123>
186+
3. `ChainID:` 1001
187+
4. `Currency Symbol:` ETH
188+
5. `Block Explorer URL:` <http://localhost:4000>
189+
6. Click on Save
190+
7. Click on `Add Network` button
191+
8. Fill up the L1 network information
192+
1. `Network Name:` Geth - Local
193+
2. `New RPC URL:` <http://localhost:8545>
194+
3. `ChainID:` 1337
195+
4. `Currency Symbol:` ETH
196+
9. Click on Save
197+
198+
## L1 Addresses
199+
200+
| Address | Description |
201+
|---|---|
202+
| 0x8dAF17A20c9DBA35f005b6324F493785D239719d | Polygon ZKEVM |
203+
| 0x40E0576c0A7dff9dc460B29ba73e79aBf73dD2a9 | Polygon Bridge |
204+
| 0x5FbDB2315678afecb367f032d93F642f64180aa3 | Pol token |
205+
| 0x8A791620dd6260079BF849Dc5567aDC3F2FdC318 | Polygon GlobalExitRootManager |
206+
| 0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e | Polygon RollupManager |
207+
208+
## Deployer Account
209+
210+
| Address | Private Key |
211+
|---|---|
212+
| 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 | 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 |
213+
214+
## Sequencer Account
215+
216+
| Address | Private Key |
217+
|---|---|
218+
| 0x617b3a3528F9cDd6630fd3301B9c8911F7Bf063D | 0x28b2b0318721be8c8339199172cd7cc8f5e273800a35616ec893083a4b32c02e |
219+
220+
## Accounts
221+
222+
| Address | Private Key |
223+
|---|---|
224+
| 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 | 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d |
225+
| 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC | 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a |
226+
| 0x90F79bf6EB2c4f870365E785982E1f101E93b906 | 0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6 |
227+
| 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 | 0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a |
228+
| 0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc | 0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba |
229+
| 0x976EA74026E726554dB657fA54763abd0C3a0aa9 | 0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e |
230+
| 0x14dC79964da2C08b23698B3D3cc7Ca32193d9955 | 0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356 |
231+
| 0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f | 0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97 |
232+
| 0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 | 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 |
233+
| 0xBcd4042DE499D14e55001CcbB24a551F3b954096 | 0xf214f2b2cd398c806f84e317254e0f0b801d0643303237d97a22a48e01628897 |
234+
| 0x71bE63f3384f5fb98995898A86B02Fb2426c5788 | 0x701b615bbdfb9de65240bc28bd21bbc0d996645a3dd57e7b12bc2bdf6f192c82 |
235+
| 0xFABB0ac9d68B0B445fB7357272Ff202C5651694a | 0xa267530f49f8280200edf313ee7af6b827f2a8bce2897751d06a843f644967b1 |
236+
| 0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec | 0x47c99abed3324a2707c28affff1267e45918ec8c3f20b8aa892e8b065d2942dd |
237+
| 0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097 | 0xc526ee95bf44d8fc405a158bb884d9d1238d99f0612e9f33d006bb0789009aaa |
238+
| 0xcd3B766CCDd6AE721141F452C550Ca635964ce71 | 0x8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61 |
239+
| 0x2546BcD3c84621e976D8185a91A922aE77ECEc30 | 0xea6c44ac03bff858b476bba40716402b03e41b8e97e276d1baec7c37d42484a0 |
240+
| 0xbDA5747bFD65F08deb54cb465eB87D40e51B197E | 0x689af8efa8c651a91ad287602527f3af2fe9f6501a7ac4b061667b5a93e037fd |
241+
| 0xdD2FD4581271e230360230F9337D5c0430Bf44C0 | 0xde9be858da4a475276426320d5e9262ecfc3ba460bfac56360bfa6c4c28b4ee0 |
242+
| 0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199 | 0xdf57089febbacf7ba0bc227dafbffa9fc08a93fdc68e1e42411a14efcf23656e |
243+
244+
8245

9246
[https://github.com/0xPolygonHermez/zkevm-node/blob/develop/docs/running_local.md](https://github.com/0xPolygonHermez/zkevm-node/blob/develop/docs/running_local.md)

0 commit comments

Comments
 (0)