ethereum-optimism / ethereum-optimism/optimism
[M4] kona-node: Light CL: Further Testing and Fixes
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 145
Description
1. Fix https://github.com/ethereum-optimism/optimism/issues/18673
2. Wire in delegate derivation actor's CurrentL1 info into kona.
- At https://github.com/op-rs/kona/blob/3c02e71e76206c5ec5980f8d3af62b123baab3fc/crates/node/service/src/actors/derivation/delegated/actor.rs#L137, external currentL1 is validated but not injected yet.
3. To run acceptance test targeting kona-node sequencer as a light CL, we need to fix testing tools:
- https://github.com/ethereum-optimism/optimism/issues/18674
- https://github.com/ethereum-optimism/optimism/issues/18675
4. Fix https://github.com/ethereum-optimism/optimism/issues/18676
5. Run [`TestFollowL2_ReorgRecovery`](https://github.com/ethereum-optimism/optimism/blob/b086b67e5015f6b9a9614b08db420dbf455e2475/op-acceptance-tests/tests/sync/follow_l2/sync_test.go#L60) targeting kona-node sequencer light node.
- This will pass because we fixed [3] and [4]
6. Add unit tests for [`DelegateDerivationActor`](https://github.com/op-rs/kona/blob/main/crates/node/service/src/actors/derivation/delegated/actor.rs#L137) by generalizing `DerivationDelegateClient` and `AlloyChainProvider` as a trait.
7. Enable existing [light CL sync tests](https://github.com/ethereum-optimism/optimism/tree/develop/op-acceptance-tests/tests/sync/follow_l2) targeting kona-node at the monorepo.
8. Check that the kona-node light CL is syncable with real data,
- Deploy locally using the [sync-tester](https://github.com/ethereum-optimism/optimism/tree/develop/op-sync-tester)
- Deploy to the self serve devnets
Contributor guide
Research direction
Start with the linked issues 18673–18676 and the kona DelegateDerivationActor at crates/node/service/src/actors/derivation/delegated/actor.rs. Then run TestFollowL2_ReorgRecovery in op-acceptance-tests/tests/sync/follow_l2 and inspect the sync-tester and existing light CL sync tests. Done means the listed fixes, unit and acceptance tests, monorepo coverage, and real-data sync checks are working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, rust
- Domain
- blockchain, devops, distributed-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100