# Readiness Plan: pq-devnet-0 | # | Task | Assigned To | Notes | |----|----------------------------------------------------------------------|-------------|-------| | 1 | **Fork & set up ethPandaOps Docker image builder**: [Here](https://github.com/ethpandaops/eth-client-docker-image-builder) | | - Clients need to provide Docker images to participate in Devnet 0.<br>- PandaOps can add support for building ARM images. | | 2 | **Fork Ethereum Genesis Generator**: [Here](https://github.com/ethpandaops/ethereum-genesis-generator) | | - This will create genesis files in the required format.<br>- Gajinder and possibly others have experience and may assist.<br>- Modify to produce genesis for PQ format; integrate with new key files. | | 3 | **Update underlying library for genesis creation (i.e. `eth-beacon-genesis`)**: [Here](https://github.com/ethpandaops/eth-beacon-genesis) | | - Underlying library for SSZ genesis<br>- Structure will differ for PQ; needs to handle new file formats. | | 4 | **Fork and update `eth2-val-tools` for different multitrack structure and PQ key generation**: [Here](https://github.com/protolambda/eth2-val-tools) | | - Generates private/public keys for clients<br>- Decide on generating keys in advance (e.g., store in S3) or on demand based on lifetime (e.g., 2^18 slots)<br>- Interface with Rust keygen lib. | | 5 | **Develop independent PQ key generation tool (as a Docker image)** | | **Inputs:**<br>- Number of keys<br>- Expected lifetime<br>- Storage location | | 6 | **Benchmark PQ key generation times** | | - Measure for various lifetimes (e.g., 2^10, 2^18)<br>- Decide on pre-gen vs on-demand. <br>- Separate from genesis for reuse in local testing<br>- Wrap existing Rust keygen lib in CLI/Docker; params: key count, lifetime, output dir. | | 7 | **Decide key distribution strategy** | | - Pre-generate and store in S3 for long lifetimes<br>- Generate on demand for short runs. | | 8 | **Fork ethereum-package for Kurtosis support and local testing**: [Here](https://github.com/ethpandaops/ethereum-package) | | - Enables local multi-client testing<br>- Integrate PQ genesis & client images. | | 9 | **Decide on consensus starting point** | | - Initial: minimal fork choice with parent chaining<br>- Later add PQ signatures. | | 10 | **Integrate PQ-ready clients into Kurtosis** | | - Fork Kurtosis config to launch PQ clients + genesis generator. | | 11 | **Set up shared Prometheus/Grafana metrics infra** | | - ethPandaOps or equivalent; start with Prometheus if Dora is delayed. | | 12 | **Fork & adapt Dora explorer**: [Here](https://github.com/ethpandaops/dora) | Jun | - May require significant changes for PQ<br>- Optional for devnet-0<br>- Jun volunteered. | | 13 | **Dry-run single-client devnets** | | - Use local Kurtosis; validate genesis, keygen, block/attestation pipeline. | | 14 | **Unit test cross-client signature compatibility** | | - Ensure this occurs prior to Interop<br>- Verify each client can sign/verify PQ sigs identically. | | 15 | **Launch multi-client PQ Devnet-0** | | - Target minimal validator count (100–512); scale up later. |