ethereum-optimism / ethereum-optimism/optimism
Match acceptance test topology to real world topology
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 145
Description
Current local kurtosis interop devnet exposes sequencer to public, which diverges with production. The topology for production should follow([Ref](https://github.com/ethereum-optimism/design-docs/blob/main/security/fma-interop-tx-handling.md#the-solution-design)):
- All Executing Message are checked once at proxyd ingress.
- All Executing Message are checked once at Node Mempool ingress (not counting Sequencer).
- All Executing Message in Node Mempools are Batched at checked on a regular interval.
- If an Executing Message is ever Invalid, it is discarded and not retried.
- No Checks are done at Block Building time.
We do not have proxyd enabled, and the default topology provides single sequencer node per chain, does not test the verifier mempool check etc.
Provide an abstraction for both sysext/sysgo side to match the test environment with production.
Contributor guide
Research direction
Read the linked FMA interop transaction-handling design and inspect the sysext and sysgo acceptance-test environments first. Define how both environments can represent the production topology, including proxyd ingress, verifier mempool checks, batching, and multiple sequencer nodes; done means the acceptance tests exercise those production-aligned checks without block-building checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100