# PeerDAS Devnet Test Scenarios This document outlines the test cases a client should execute before declaring readiness for the next devnet iteration. ## Test Scenarios In these scenarios, the following terms are used: - **Tested Node:** The node being evaluated. - **Fixture Nodes:** Nodes that simulate the environment for the tested node. ### **Scenario 1 - Standard Run** All nodes start at Deneb, transition to Electra, and finally to Fulu. The scenario is successful when all slots in the first Fulu epoch are finalized. - **Scenario 1a:** 1 full tested node, 1 full fixture node, 2 super fixture nodes. - **Scenario 1b:** 1 super tested node, 2 full fixture nodes, 1 super fixture node. ### **Scenario 2 - Sync in an Unfinalized Network** Validators are allocated so the network **cannot** finalize without the tested node. Initially, only the fixture nodes are started. The network transitions to Electra and then to Fulu. After the first Fulu epoch is expected to finalize, the tested node is started. The scenario is successful when the tested node syncs, and the network finalizes as expected. - **Scenario 2a:** 1 full tested node, 1 full fixture node, 2 super fixture nodes. - **Scenario 2b:** 1 super tested node, 2 full fixture nodes, 1 super fixture node. ### **Scenario 3 - Sync in a Finalized Network** Validators are allocated so the network **can** finalize without the tested node. Initially, only the fixture nodes are started. The network transitions to Electra and then to Fulu. After the first Fulu epoch is finalized, the tested node is started. The scenario is successful when the tested node syncs correctly. - **Scenario 3a:** 1 full tested node, 1 full fixture node, 2 super fixture nodes. - **Scenario 3b:** 1 super tested node, 2 full fixture nodes, 1 super fixture node. ### **Scenario 4 - Reconstruction** All nodes start at Deneb, transition to Electra, and then to Fulu. The super fixture nodes are configured to withhold some data columns when proposing blocks, forcing the super tested node to reconstruct and reseed the missing columns. The scenario is successful if no blocks are missed or orphaned. - **Setup:** 1 super tested node, 1 super fixture node (configured to withhold data columns when proposing blocks), 2 full fixture nodes. Ideally, each client team should complete a matrix similar to the example below . Example for Prysm: **Prysm:** | Scenario | Grandine | Lighthouse | Lodestar | Nimbus | Prysm | Teku | | -------- | -------- | ---------- | -------- | ------ | ----- | ---- | | 1a | ❓ | ❌ | ❓ | ❓ | ✅ | ❓ | | 1b | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ | | 2a | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ | | 2b | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ | | 3a | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ | | 3b | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ | | 4 | ❓ | ❓ | ❓ | ❓ | ✅ | ❓ |