Rapidly Validate Polygon CDK Releases Using Kurtosis

·

Introduction

Polygon CDK's Kurtosis package simplifies the customization and instantiation of all components in a CDK chain. Leveraging the Kurtosis platform, it orchestrates the setup of chain components within Docker containers using Starlark scripts—a Python dialect—to define the step-by-step deployment process.

👉 Explore Polygon CDK's official documentation

Key Features of the Polygon CDK Kurtosis Package

The package deploys a comprehensive local development network, including:

  1. Local L1 Chain: Built with the ethereum-package, supporting multi-client configurations.
  2. Local L2 Chain: Powered by Polygon Chain Development Kit (CDK), featuring customizable components like sequencers, aggregators, and RPC nodes.
  3. Bridge Infrastructure: Facilitates asset transfers between L1 and L2 chains via zkEVM bridge services.
  4. AggLayer Protocol: Enables trustless cross-chain operations secured by zero-knowledge proofs.
  5. Additional Services: Monitoring tools, spam blockers, and permissionless nodes.

Version Compatibility Matrix

Fork IDCDK ErigonZkEVM ProverData Availability
13v2.60.0-beta4v9.0.0-RC1-fork.13v0.0.10
12v2.1.2 (Default for tests)v8.0.0-RC14-fork.12v0.0.10

Deployment Guide

Prerequisites

Step-by-Step Deployment

  1. Clone the repository:

    git clone https://github.com/0xPolygon/kurtosis-cdk.git
  2. Initiate the network:

    kurtosis run --enclave cdk .

Network Verification

👉 Troubleshooting tips for common issues

FAQs

How do I monitor transaction batches?

Use:

cast rpc zkevm_verifiedBatchNumber

An increasing count indicates healthy operation.

What if the bridge UI fails to load?

Access it via:

open "$(kurtosis port print cdk zkevm-bridge-proxy-001 web-ui)"

How can I stress-test the network?

Deploy batch transactions with:

polycli loadtest --rpc-url "$ETH_RPC_URL" --requests 50000 --rate-limit 50

How do I clean up resources?

Run:

kurtosis clean --all

This guide ensures a seamless setup for testing Polygon CDK releases, combining modularity with robust tooling for developers.