Skip to content

Commit f08293d

Browse files
commit changes
2 parents 6fc3c15 + ffb9700 commit f08293d

File tree

3 files changed

+103
-30
lines changed

3 files changed

+103
-30
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
Polygon AggLayer is a web service that receives zero-knowledge proofs from different CDK chains and checks their soundness before sending the proof to L1 for verification.
2+
3+
!!! warning
4+
- The AggLayer is in development and subject to architectural changes.
5+
- The code is still being audited.
6+
7+
## Prerequisites
8+
9+
Make sure you have the following software installations.
10+
11+
- [Docker](https://docs.docker.com/engine/install/)
12+
- [Docker Compose](https://docs.docker.com/compose/install/)
13+
- [Golang](https://go.dev/doc/install)
14+
- [GCloud cli](https://cloud.google.com/sdk/docs/install) - production only.
15+
16+
### Clone the repo.
17+
18+
```sh
19+
git clone https://github.com/0xPolygon/agglayer.git
20+
cd agglayer/
21+
```
22+
23+
## Set up and installation
24+
25+
### Local
26+
27+
Run the following command to bring up a zkEVM node, a prover, and a mock L1 network.
28+
29+
```sh
30+
make run-docker
31+
```
32+
33+
### Production build - managed by Polygon
34+
35+
!!! warning
36+
- The AggLayer in production is currently managed by Polygon.
37+
- Currently only one instance of the AggLayer can run at one time.
38+
- The AggLayer should, therefore, automatically start in the case of failure using a containerized setup or an OS level service manager/monitoring system.
39+
40+
Install the Golang dependencies.
41+
42+
```sh
43+
go install .
44+
```
45+
46+
#### Key-signing configurations
47+
48+
Install polygon-cli:
49+
50+
```sh
51+
go install github.com/maticnetwork/polygon-cli@latest
52+
```
53+
54+
Create a new signature:
55+
56+
```sh
57+
polygon-cli signer create --kms GCP --gcp-project-id gcp-project --key-id mykey-tmp
58+
```
59+
60+
Set up ADC in GCloud:
61+
62+
```sh
63+
gcloud auth application-default login
64+
```
65+
66+
In the `../agglayer/docker/data/agglayer/agglayer.toml` file, add the `KMSKeyName` from GCloud.
67+
68+
## Setting up the AggLayer
69+
70+
Each CDK chain requires a corresponding RPC node configuration that is synced with the target CDK. This node checks the state root after executions of L2 batches.
71+
72+
!!! info "Storage recommendations"
73+
- Use a durable HA PostgresDB for storage; ideally AWS Aurora PostgreSQL or Cloud SQL for PostgreSQL in GCP.
74+
75+
Add the chain configurations to the `../agglayer/docker/data/agglayer/agglayer.toml` file by amending the following details to add the required chain(s).
76+
77+
* Configure `[FullNodeRPCs]` to point to the corresponding L2 full node.
78+
* Configure the `[DB]` section with the managed database details.
79+
* Configure `[L1]` to point to the corresponding L1 chain.
80+
81+
82+
83+
</br>

docs/cdk/how-to/use-native-token.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323
```json
2424
{
25-
"":"",
26-
"":"",
25+
"...":"...",
26+
"...":"...",
2727
"maxPriorityFeePerGas":"",
2828
"multiplierGas": ""
2929
"gasTokenAddress": "<TOKEN-ADDRESS>"

docs/cdk/version-matrix.md

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ hide:
55

66
## CDK
77

8-
The table below shows the version compatibility for CDK releases and related components.
8+
The table below shows the version compatibility for CDK releases and related components.
99

1010
<table>
1111
<thead>
1212
<tr>
1313
<th>CDK version</th>
1414
<th>Fork ID</th>
1515
<th>Equivalent zkEVM node</th>
16-
<th>CDK validium node </th>
16+
<th>CDK validium node</th>
1717
<th>CDK data<br>availability</th>
1818
<th>ZK-EVM prover</th>
1919
<th>Contracts</th>
@@ -22,42 +22,33 @@ The table below shows the version compatibility for CDK releases and related com
2222
</thead>
2323
<tbody>
2424
<tr>
25-
<td>Rollup </td>
26-
<td colspan="7">Follow zkEVM: <a href="https://github.com/0xPolygonHermez#testnetmainnet-versions" target="_blank" rel="noopener noreferrer">https://github.com/0xPolygonHermez#testnetmainnet-versions</a><br>Disclaimer: These versions are intended for permissionless nodes.</td>
27-
</tr>
28-
<tr>
29-
<td>Validium </td>
30-
<td>5</td>
31-
<td>N/A</td>
32-
<td><a href="https://github.com/0xPolygon/cdk-validium-node/releases/tag/v0.0.2-hotfix4">v.0.0.2-hotfix4</a></td>
33-
<td>v0.0.3</td>
34-
<td>v2.2.0</td>
35-
<td>v0.0.1</td>
36-
<td>v0.2.0</td>
37-
</tr>
38-
<tr>
39-
<td>Upgraded Validium</td>
25+
<td>Upgraded validium</td>
4026
<td>6</td>
41-
<td>zkevm-node@0.4.2</td>
27+
<td>0.4.2</td>
4228
<td><a href="https://github.com/0xPolygon/cdk-validium-node/releases/tag/v0.0.3-hotfix6">v0.0.3-hotfix6</a></td>
4329
<td>v0.0.3</td>
4430
<td>zkevm-prover<br>@3.0.2<br>Config files version 3.0.0-RC3-fork.6</td>
4531
<td><a href="https://github.com/0xPolygon/cdk-validium-contracts/releases/tag/v0.0.2">v0.0.2</a></td>
46-
<td>v0.3.2-RC1</td>
32+
<td>v0.3.2-RC1</td>
4733
</tr>
4834
<tr>
49-
<td><a href="https://polygontechnology.notion.site/Instructions-zkEVM-Mainnet-Beta-Node-v0-5-7-Prover-v4-0-4-8f5b9d8e2f6a4048b21c608b49a93376">Ares release</a><br>BETA TESTING</td>
35+
<td><a href="https://polygontechnology.notion.site/Instructions-zkEVM-Mainnet-Beta-Node-v0-5-7-Prover-v4-0-4-8f5b9d8e2f6a4048b21c608b49a93376" target="_blank" rel="noopener noreferrer">CDK-Etrog Release</a>- <br>BETA TESTING</td>
5036
<td>7</td>
51-
<td>zkevm-node@0.5.6 (Etrog+uLxLy)</td>
52-
<td><a href="https://github.com/0xPolygon/cdk-validium-node/releases/tag/v0.5.6%2Bcdk">v0.5.6+CDK</a> </td>
37+
<td><a href="https://github.com/0xPolygonHermez/zkevm-node/releases/tag/v0.5.13">v0.5.13 </a>(Etrog+uLxLy)</td>
38+
<td><a href="https://hub.docker.com/layers/0xpolygon/cdk-validium-node/0.5.13-cdk.3/images/sha256-b83a0dbf954cc514fa129b8eff4d74e61a46cacbfbd70dce9780ee31d9b62770?context=explore">v0.5.13+cdk.3</a> </td>
5339
<td><a href="https://github.com/0xPolygon/cdk-data-availability/releases/tag/v0.0.5">v0.0.5</a></td>
54-
<td><a href="https://github.com/0xPolygonHermez/zkevm-prover/releases/tag/v4.0.4">v4.0.4</a></td>
55-
<td>Merged: <br>zkevm-contracts</td>
56-
<td><a href="https://github.com/0xPolygonHermez/zkevm-bridge-service/releases/tag/v0.4.0">v0.4.0</a></td>
40+
<td>Prover: <a href="https://github.com/0xPolygonHermez/zkevm-prover/releases/tag/v4.0.19">v4.0.19</a></td>
41+
<td> <a href="https://github.com/0xPolygonHermez/zkevm-rom/tree/v4.0.0-fork.7">v4.0.0-fork.7</a></td>
42+
<td>Bridge: <a href="https://github.com/0xPolygonHermez/zkevm-bridge-service/releases/tag/v0.4.2">v0.4.2</a></td>
5743
</tr>
5844
</tbody>
5945
</table>
6046

47+
### Migrating
48+
49+
- If you want to migrate from 6 to 7, we recommend waiting for the upcoming zkEVM Elderberry integration into CDK version 8.
50+
- Anyone on earlier versions who wants to migrate, we also recommend waiting for CDK version 8.
51+
6152
## zkEVM
6253

6354
The table below shows the version compatibility for Polygon zkEVM releases.
@@ -76,19 +67,18 @@ The table below shows the version compatibility for Polygon zkEVM releases.
7667
<td><a href="https://github.com/0xPolygonHermez/zkevm-node/releases/tag/v0.5.10">v0.5.10</a></td>
7768
<td>v0.4.0</td>
7869
<td>v4.0.4</td>
79-
<td>Mainnet &amp; Cardona: 4-7. <br>Testnet (Goerli): 1,- 6.</td>
70+
<td>Mainnet &amp; Cardona: 4-7. <br>Testnet (Goerli): 1- 6.</td>
8071
</tr>
8172
<tr>
8273
<td><a href="https://github.com/0xPolygonHermez/zkevm-node/releases/v0.4.0">v0.4.0</a></td>
8374
<td>v0.3.0</td>
8475
<td>v3.0.2</td>
85-
<td>Testnet: 1-6<br>Mainnet: 4-6</td>
76+
<td rowspan="2">Testnet: 1-6<br>Mainnet: 4-6</td>
8677
</tr>
8778
<tr>
8879
<td><a href="https://github.com/0xPolygonHermez/zkevm-node/releases/v0.3.3">v0.3.3</a></td>
8980
<td>v0.2.0</td>
9081
<td>v3.0.0</td>
91-
<td></td>
9282
</tr>
9383
<tr>
9484
<td><a href="https://github.com/0xPolygonHermez/zkevm-node/releases/v0.3.1">v0.3.1</a> </td>

0 commit comments

Comments
 (0)