# EPF5 Week-4: Kurtosis PeerDAS ## Week overview - [X] Learned how to work with Kurtosis - [X] Ran Kurtosis PeerDAS testnet - [X] Installed Teku, ran testnet network - [X] Installed Grafana - [X] Watched EPF Study Group Week 9 video - [X] Explored Dora This week was focused on running Kurtosis PeerDAS. I began with the Quickstart guide and then gradually progressed to configuring it with PeerDAS parameters. Despite encountering various issues along the way, I managed to get everything working. During this process, I gained experience in managing Kurtosis enclaves, modifying the Kurtosis configuration YAML file, and operating Dora. Additionally, I started exploring Consensus Clients, beginning with Teku due to its active involvement in PeerDAS testing. I set up its testnet network and utilized Grafana for monitoring. [Kurtosis: A Deep Dive to Local Devnets](https://ethpandaops.io/posts/kurtosis-deep-dive/) ## Running Kurtosis You can find an installation guide [here](https://docs.kurtosis.com/install). While working with Kurtosis, don't forget to start Docker. Kurtosis engine commands: ``` kurtosis engine start kurtosis engine stop kurtosis engine restart kurtosis engine status ``` Inintial running: ``` kurtosis run github.com/ethpandaops/ethereum-package ``` Running an enclave with my args: ``` kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package --args-file peerdas_params.yaml ``` ![Screenshot 2024-07-06 at 23.13.07](https://hackmd.io/_uploads/ryNsHXDDA.png) Working with enclaves: ``` kurtosis enclave ls kurtosis enclave inspect my-testnet kurtosis enclave stop my-testnet kurtosis enclave rm my-testnet kurtosis clean -a ``` ## Kurtosis PeerDAS network params Here are my latest params for `network_params.yaml` file: ``` participants: - cl_type: prysm cl_image: ethpandaops/prysm-beacon-chain:peerDAS - cl_type: lighthouse cl_extra_params: [ --subscribe-all-data-column-subnets, ] cl_image: ethpandaops/lighthouse:das - cl_type: lighthouse cl_image: ethpandaops/lighthouse:das - cl_type: teku cl_image: ethpandaops/teku:nashatyrev-das - cl_type: nimbus cl_image: ethpandaops/nimbus-eth2:kzgpeerdas - cl_type: grandine cl_image: ethpandaops/grandine:das # - cl_type: lodestar # cl_image: ethpandaops/lodestar:peerDAS network_params: network: peerdas-devnet-1 eip7594_fork_epoch: 0 eip7594_fork_version: "0x50000038" num_validator_keys_per_node: 64 preregistered_validator_keys_mnemonic: "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete" parallel_keystore_generation: false snooper_enabled: true global_log_level: debug additional_services: - dora - goomy_blob ``` ## PeerDAS on Clients | Client |Repo | | -------- | -------- | | Teku | [DAS branch](https://github.com/Nashatyrev/teku/tree/das) | ## Dora [Dora the Explorer](https://github.com/ethpandaops/dora) is a lightweight beaconchain explorer. A Beaconchain explorer is a tool that allows users to view and interact with the data on the Ethereum Beacon Chain. It is similar to a blockchain explorer, which allows users to view data on a blockchain such as the current state of transactions and blocks - but focussed on exploring the beaconchain. You can use Dora for the local devnets when running your enclave: ![Screenshot 2024-07-06 at 23.20.42](https://hackmd.io/_uploads/HJ6pw7vD0.png) Here is a Dora representation of my local devnet running: ![Screenshot 2024-07-06 at 23.53.28](https://hackmd.io/_uploads/H1tlkEDPA.png) ## Teku progress I downloaded the PeerDAS version of Teku. Attempted to build a Docker image but encountered an error on my Mac. Successfully ran the Teku testnet network locally. Reviewed the Teku dashboard on Grafana. ![Teku Grafana](https://hackmd.io/_uploads/HJbaJEPwA.png) ## Weekly EPF Activity - [EPF5 Standup]() - [EPF5 Office Hours: ePBS with Potuz](https://www.youtube.com/watch?v=K3a6QE30P9g) Potuz from Prysm gave us an overview and a current state of ePBS. - [ACDE #191](https://www.youtube.com/live/58_bJD_dmm0) [Github issue #1080](https://github.com/ethereum/pm/issues/1080) Discussing Pectra Devnet and some EIPs: 7702, 7212, 7002, 7251. ## TODO - [ ] Dive into snooper - [ ] Connect Grafana to PeerDAS devnet - [ ] Explore Dora ## Links [Kurtosis: A Deep Dive to Local Devnets](https://ethpandaops.io/posts/kurtosis-deep-dive/) [peerdas-devnet-1 specs](https://notes.ethereum.org/@ethpandaops/peerdas-devnet-1) [pectra-devnet-0 specs](https://notes.ethereum.org/@ethpandaops/pectra-devnet-0) [Kurtosis Docs](https://docs.kurtosis.com/) [Grafana Docs](https://grafana.com/docs/grafana/latest/) [Teku Docs](https://docs.teku.consensys.io/introduction) [Snooper](https://github.com/ethpandaops/rpc-snooper) [My Kurtosis issue](https://github.com/ethpandaops/ethereum-package/issues/694) [Ethereum-package on github](https://github.com/ethpandaops/ethereum-package) [DevOps and Testnets Week 9 EPS](https://www.youtube.com/watch?v=Enf8006zKLI) [EIP-7594 - Update ENR record](https://github.com/ethereum/consensus-specs/pull/3772) [From 4844 to Danksharding: a path to scaling Ethereum DA](https://ethresear.ch/t/from-4844-to-danksharding-a-path-to-scaling-ethereum-da/18046) [PeerDAS – a simpler DAS approach using battle-tested p2p components](https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-components/16541) [Specs: EIP-7594 -- Data Availability Sampling Core](https://github.com/ethereum/consensus-specs/blob/b4188829b32139916127827c64ba17c923e66c3c/specs/_features/eip7594/das-core.md) [How to help self builders with blobs](https://notes.ethereum.org/@dankrad/self-builder-strategies#Before-PeerDAS)