-
-
owned this note
-
Published
Linked with GitHub
# 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).