# Kiln 🔥🧱 Milestones Following [Kintsugi](https://notes.ethereum.org/@djrtwo/kintsugi-milestones), Kiln 🔥🧱 incorporates the last major spec changes we expect for The Merge. As with Kintsugi, we expect to have a few iterations of short-lived devnets before launching a longstanding testnet aimed for broader usage by application and infrastructure developers. The [Kiln Meta Spec](https://hackmd.io/@n0ble/kiln-spec) lists the changes and associated commits for the EL, CL and Engine Api specifications. [toc] ### Milestone tracker To track progress across all clients, please create a Kiln 🔥🧱 tracking issue in your repo. We'll link to those issues here as well as track high-level milestones at a glance. As with Kintsugi, please do not waste other teams' time prior to implementing core specs and running all test vectors (**M1**). The milestones are designed to help capture complexity and iterate toward stable interop and testnets. *Please link to your primary tracking issue against the name of your client (first column). See Kintugi links [here](https://notes.ethereum.org/@djrtwo/kintsugi-milestones#Milestone-tracker).* #### Execution layer [teku-tracking]: TBA [prysm-tracking]: TBA [lh-pr]: TBA [geth-pr]: TBA [geth-test-engine]: https://notes.ethereum.org/rmVErCfCRPKGqGkUe89-Kg?both [geth-test-4399]: https://notes.ethereum.org/dfVXr2h2TqWDKSXZaMwGTw?view [grandine-tracking]: TBA [ethereumjs-tracking-issue]: TBA [ethereumjs-pr]: TBA [nimbus-tracking]: https://github.com/status-im/nimbus-eth1/ [mergemock]: https://github.com/protolambda/mergemock [nethermind-pr]: https://github.com/NethermindEth/nethermind/pull/3805 [nethermind-tracking-issue]: https://github.com/NethermindEth/nethermind/issues/3809 |Team|M0|M1|M2|M3|M4|M5|M6|Docs| |--|--|--|--|--|--|--|--|----| Besu | Erigon |🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|[Tracker](https://github.com/ledgerwatch/erigon/issues/3451)| EthereumJS | Geth | Nimbus |🔥🧱|||||||[Tracker](https://github.com/status-im/nimbus-eth1/issues/1051) Nethermind |🔥🧱|🔥🧱|🔥🧱|||||[PR][nethermind-pr] </br> [Tracker][nethermind-tracking-issue]| #### Consensus layer |Team|M0|M1|M2|M3|M4|M5|M6|Docs| |--|--|--|--|--|--|--|--|----| Grandine |🔥🧱| Lighthouse |🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|[Docs](https://github.com/sigp/lighthouse/issues/3061) Lodestar |🔥🧱|🔥🧱||||||[Tracker](https://github.com/ChainSafe/lodestar/issues/3731)| Nimbus |🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱||[Tracker](https://github.com/status-im/nimbus-eth2/issues/3370)| Prysm |🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|||| Teku |🔥🧱|🔥🧱|🔥🧱|🔥🧱|🔥🧱|||[Tracker](https://github.com/ConsenSys/teku/issues/4972)| ### Milestones - **M0**: *Implementation started* - Signify that implementation of the Kiln 🔥🧱 meta-spec has started by creating a tracking issue and linking in the above table - **M1**: *Kiln v1 Spec Implemented* - EL/CL: pass all released consensus test vectors - Run against [`mergemock`](https://github.com/protolambda/mergemock) - Geth based [Engine API test cases][geth-test-engine] - EL: geth based [EIP 4399 test cases][geth-test-4399] - EL: additional [4399 test cases](https://github.com/ethereum/hive/pull/496) - **M2**: *Kiln v2 Spec Implemented* - EL/CL: pass all released consensus test vectors - Run against [`mergemock`](https://github.com/protolambda/mergemock) - Geth based [Engine API test cases][geth-test-engine] - EL: geth based [EIP 4399 test cases][geth-test-4399] - EL: additional [4399 test cases](https://github.com/ethereum/hive/pull/496) - **M3**: *Many-to-Many Interop* -- 2 or more EL and CL teams perform interop testing - Run many:many devnet with transition (`TTD` occuring 8+ epochs in the beacon chain) - Send EL TXs that transfer ETH and deploy a contract which are successfully executed on chain - List teams you interop with in the table - **M4**: *Weekly devnet* -- Weekly devnet build for more in depth testing - Starting in the second week of February, EF devops (Pari, etc) will lead a devnet build on Thursdays. This devnet (if successful) will remain up until the following Thursday - Once passing **M2**, join the weekly devnet - To pass **M4**, client team *must* be on the devnet during the Merge transition process and process EL TXs - *Note*: Increasingly complex EL TXs will be sent on weekly devnets, testing EIPs and fuzzing the network - Addionally, CL clients must be able to sync from genesis using Optimistic Sync - **M5**: *All-to-All persistent testnet* -- All ready EL and CL teams create a long-lived devnet to replace Kintsugi - Kiln specification considered feature complete for mainnet Merge - Run many:many devnet with transition - Keep the devnet up until The Merge as a testing environment for applications - Create README for the public to connect - **M6**: *Kiln 🔥🧱 code released* -- clients release Kiln 🔥🧱 code for public consumption - Mainnet-compatible sync support (Optimistic, Snap, etc.) - Merge Kiln 🔥🧱 code into main branch - Create basic documentation, ideally with a CLI flag, for the public to connect to persistent testnet - Release Kiln 🔥🧱 for public consumption ### Office Hours 🕰 Every week, we'll hold Kiln 🔥🧱 office hours as part of the AllCoreDevs and Consensus Layer calls. The first 30-45 minutes of each call will be dedicated to team updates, issue/blocker discussion and next steps for Kiln 🔥🧱. The calls are each held fortnightly on alternating weeks with the Consensus Layer call happening next, on February 10 (Thursday) 14:00 UTC, and the AllCoreDevs call happening the following week February 18 14:00 UTC. Note that these calls are "fixed" in UTC and do not move with DST start/end. You can subscribe to them on Google Calendar [here](https://calendar.google.com/calendar/u/1?cid=Y191cGFvZm9uZzhtZ3JtcmtlZ243aWM3aGs1c0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t).