Agglayer is a web service that receives ZKPs from different CDK chains and checks the soundness of them before sending the ZKP to L1 for verification.
To find out more about Polygon, visit the official website.
WARNING: This is a work in progress so architectural changes may happen in the future. The code is still being audited, so please contact the Polygon team if you would like to use it in production.
This is an example of how to list things you need to use the software and how to install them.
- docker
- docker compose
Run
make run-docker
- Install polygon-cli
go install github.com/maticnetwork/polygon-cli@latest
- Create a new signature
polygon-cli signer create --kms GCP --gcp-project-id gcp-project --key-id mykey-tmp
- Install gcloud cli https://cloud.google.com/sdk/docs/install
- Setup ADC
gcloud auth application-default login
- Configure
KMSKeyName
inagglayer.toml
Currently only one instance of agglayer can be running at the same time, so it should be automatically started in the case of failure using a containerized setup or an OS level service manager/monitoring system.
- Clone the repo
git clone https://github.com/0xPolygon/agglayer.git
- Install Golang dependencies
go install .
- For each CDK chain it's necessary to configure it's corresponding RPC node, synced with the target CDK, this node is for checking the state root after executions of L2 batches.
- It's recommended to have a durable HA PostgresDB for storage, prefer AWS Aurora Postgres or Cloud SQL for postgres in GCP.
* Configure `[FullNodeRPCs]` to point to the corresponding L2 full node.
* Configure `[L1]` to point to the corresponding L1 chain.
* Configure the `[DB]` section with the managed database details.
Copyright (c) 2024 PT Services DMCC
Licensed under GNU Affero General Public License v3.0 or later (LICENSE)
The SPDX license identifier for this project is AGPL-3.0-or-later
.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the AGPL-3.0-or-later, shall be licensed as above, without any additional terms or conditions.