Try   HackMD

Amphora Client Milestone Tracker

Amphora Merge High-Level Technical Plans

Milestone tracker

Please link to your primary tracking issue against the name of your client (first column).

M0 M1 M2 M3 M4 M5 Docs
Besu ✅Lodestar
✅Lighthouse
✅Teku
✅Nimbus
✅Lodestar
✅Lighthouse
✅Teku
✅Nimbus
✅Teku
✅Lodestar
✅Lighthouse
✅Nimbus
interop instructions
Erigon
EthereumJS ✅Lighthouse
Lodestar
✅Nimbus
✅Teku
✅Lighthouse
Lodestar
✅Teku
transition instructions
Hacknet v2
Geth ✅Prysm
Lighthouse
✅Lodestar
Nimbus
✅Teku
Lighthouse
✅Lodestar
✅Teku
✅Nimbus
✅Lighthouse
✅Lodestar
✅Nimbus
✅Teku
transition instructions
hacknet instructions
Nethermind Lighthouse
Lodestar
Nimbus
Teku
Lighthouse
Lodestar
✅Nimbus
Teku
✅Lighthouse
✅Lodestar
✅Nimbus
✅Teku
docs
Nimbus Geth
Nethermind
✅EthereumJS
✅Besu
✅Besu
Geth
✅Nethermind
Geth
✅Nethermind
✅Besu
Docs
Lighthouse ✅Besu
Geth
Nethermind
✅EthereumJS
✅EthereumJS
Geth
✅Besu
✅Nethermind
✅Geth
✅Lodestar
✅Besu
✅Nethermind
Installation, Testnet Scripts
Lodestar ✅Besu
EthereumJS
✅Geth
Nethermind
✅Geth
EthereumJS
✅Besu
✅Nethermind

✅Besu
✅Geth
✅Nethermind
Testnet Instructions
Hacknet V1
Hacknet V2
Prysm ✅Geth
✅Geth
✅Geth
M2
M3
Teku ✅Geth
Nethermind
✅Besu
✅EthereumJS
✅Geth
✅Besu
✅EthereumJS
✅Nethermind
Geth
Besu
Lighthouse
✅Nethermind
Umbrella issue,
generic M3,
hacknet V2

To track progress across all 10 clients (5 execution, 5 consensus), we suggest creating an Amphora tracking issue in your repo. We'll link to those issues here as well as track high-level milestones at a glance.

Note, the milestones below aim ground our hands-on work during our time together. Although the strategy and plan will certainly evolve throughout the week, the progressive milestones below are designed to parallelize our efforts and to avoid wasting other teams' valuable time before you are ready this is especially true of M1 and M2.

We aim to provide more pre-interop testing to accompany M1 as we approach the event. Keep your eyes peeled

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Note: In parallel to these client team milestones, some of the group will be working on merge testnet automation tools throughout the week.


Milestones

  • M0: Implementation started
    • Signify that implementation has started by creating a tracking issue and linking in the above table
  • Docs: Core Documentation
    • EL/CL: detailed documentation on how to run your merge client
    • Link under "Docs" in milestone table
  • M1: Spec Implemented
    • EL/CL: pass all released consensus test vectors
    • Geth sanity engine vectors
    • More advanced vectors and mocked communications
      • Other testing tools are in progress. Will update as soon as available
      • EL/CL (Experimental): run against mergemock
  • M2: 1-to-1 Interop (no transition) One EL and one CL team pair off for basic interop testing
    • Perform the following with at least two separate teams:
      • run 1:1 devnet without transition (TTD == 0)
    • Record teams interop'd with alongside ✅ in milestone table e.g. "✅ lodestar, teku"
  • M3: 1-to-1 Interop (with transition) One EL and one CL team pair off for full interop testing
    • Perform the following with at least two separate teams:
    • Record teams interop'd with alongside ✅ in milestone table e.g. "✅ nethermind, besu"
  • M4: Many-to-Many Interop 2 or more EL and CL teams perform interop testing
    • Run many:many devnet with transition (TTD > 50)
    • Record teams and devnet config/results in separate issue
  • M5: All-to-All persistent devnet All ready EL and CL teams create a long-lived devnet
    • Run many:many devnet with transition (TTD > 100)
    • Keep the devnet up for continuous testing and fun
    • Create basic README for the public to connect

Clique vs PoW

We suggest using clique as the eth1 network for initial merge transition interop testing. Fortunately, clique uses total-difficulty fork choice so has a fairly straightforward mapping to a real PoW network. For rapid iteration and easy cooridination, clique is great. As we ramp up testing, we'll eventually transition to utilize PoW nets.