Operational scripts for ZKsync OS protocol upgrades.
This repository contains a collection of Python utilities used to safely and reproducibly perform ZKsync OS upgrades, including:
- Update zkos-wrapper: prepare for verification key generation
- Update era-contracts: verification key generation
- Update server: genesis and l1 state
- Update prover: prepare for the protocol upgrade
The scripts are written in shell-like style, and are designed to be explicit, easy to contribute, and automation-friendly.
Follow the instructions in the Prerequisites document to set up your environment.
Check protocol compatiblity tables for details on dependency and toolchain versions used for a particular protocol version.
Explore the User documentation to understand how to use the scripts.
If you are interested in contributing or understanding the internal workings, check out the Developer documentation.
If you are interested in automated execution of the scripts via GitHub Actions, please refer to the GitHub Actions guide.
See CONTRIBUTING.md for contribution guidelines.
See SECURITY.md for security policy details.
ZKsync OS repositories are distributed under the terms of either
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/blog/license/mit/)
at your option.
