1 of 15

EF JavaScript�Roadmap & Milestones

Work outlook until early 2025

2 of 15

Track Overview

Client Stateless Prep Track 0: SnapSync

Client Stateless Prep Track 1: Dependencies

Client Stateless Prep Track 2: Refactoring / Modularization

Side Track: Breaking Releases (August/September 2024)

Ultralight Track 1: Full EthereumJS Integration

Ultralight Track 2: 4444 / Client Integration

Ultralight Track 3: Production Readiness Prep

Core Dev Track 1: Verkle (Implementation / Kaustinen)

Core Dev Track 2: EOF / Testing

Core Dev Track 3: Everyday Work

3 of 15

Why?

Orientation for the team (beyond day & week)

Guidance & Inspiration for issues

Help to stick on longer reaching topics

Some success measurement

=> Not: Exclusive TODO list (overall 70%, different per team member)

4 of 15

Client Stateless Prep Track 0:�SnapSync

Get a bit more “stateless” (Snap Sync)

  • Healing Finalization
  • Do everything that is necessary to get this production-ready for testnets
  • Task for everyone in the team!

https://github.com/ethereumjs/ethereumjs-monorepo/issues/2874

5 of 15

Client Stateless Prep Track 1:�Dependencies

Down, down, down!

  • Simple Deps (#3450)
  • Winston (configurable logger)
  • Yargs (same)

=> Goal: “Controllable” Dependency Set! /� Production Readiness

  • Side Solution: Next Track, Modularization

6 of 15

Client Stateless Prep Track 2:�Modularization / Refactoring

Goal:

Usage in different (stateless/stateful) scenarios, optimally with minimal dep set + min code size

Potential Refactorings:

- (Inner) Modularization (re-usage/opt-in/opt out core parts like Sync/RPC/Networking)�- Library + On-top packages�- Blockchain Refactor (Gajinder) => Skeleton�- …

7 of 15

Side Track:�Breaking Releases

Goals:

  • Dependencies ⬇️ (Trie: ReadableStream)
  • Browser (Last Node.js Intertwistings)
  • Tree Shaking Refactor
  • New Fork Default to Cancun
  • Some Tx Refactor (+/- 27 v)

August, ~6-8 Weeks, Mid September Release

https://github.com/ethereumjs/ethereumjs-monorepo/issues/3216

8 of 15

Ultralight Track 1:�Full EthereumJS Integration

Fully integrate Ultralight into EthereumJS library suite!

  • No Repository Melding!
  • Standards Alignment (Linting, Branch Protection, Tooling (where makes sense), Labels,...)
  • All team responsible for Dev + Reviews (mostly mental switch)

https://github.com/ethereumjs/ultralight

EthereumJS

+

Ultralight

9 of 15

Ultralight Track 2:�4444 / Client Integration

Goals

=> See how Ultralight behaves “in Production”

=> Ultralight/Client Interplay

=> Test Portal Network / Gather data / Get “the Portal feel”

https://eips.ethereum.org/EIPS/eip-4444

https://www.ethportal.net ��https://github.com/ethereumjs/ethereumjs-monorepo/pull/3444

=> November, Devcon 2024!

10 of 15

Ultralight Track 3:�Production Readiness Prep

  • Up to date docs
  • Dependencies ⬇️
  • (Somewhat) final Library Structure
  • (Somewhat) Defined Reliability Level (Tests, Coverage)
  • (Somewhat) regular Release Cadence
  • Some Road-To-Production Thoughts/Strategy (Alpha Releases?)

11 of 15

Core Dev Track 1:�Verkle

  • Production- (or at least: Functionally-?) Ready Own Implementation (September/October)
  • Follow-up on implementation, spec updates, join future Kaustinen testnets
  • Help on specs
  • Integrate Verkle Snap Sync
  • Transition or not?

https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/verkle

https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client

12 of 15

Core Dev Track 2:�EOF / Testing

  • Full Implementation of all EIPs
  • Basically support testing until end of year (needs validation)
  • Testing tools? (EOF fuzzer, …)
  • EOF <-> Verkle Interplay

https://github.com/ipsilon/eof/blob/main/spec/eof.md

https://github.com/ethereumjs/ethereumjs-monorepo/pull/3440

HEADER

BODY

EOF CONTAINER

13 of 15

Core Dev Track 3:�Everyday Work

  • Incoming EIPs (7702, …)
  • Performance
  • Refactorings
  • Tech Stack Work (devp2p, trie,...)

https://github.com/ethereumjs/ethereumjs-monorepo/

EOF CONTAINR

14 of 15

Browser Track:�Full Browser Compatibility Round 2

  • Breaking Releases (Mid September 2024)
  • Practical Stack Integration / Integration Tests (React, …)
  • Full ESM achieved ?
  • Own Protocol Showcase Website
  • Alternative (?): Get Familiar with Existing Solution (e.g. TEVM)

https://github.com/ethereumjs/ethereumjs-monorepo/issues/3216

EOF CONTAINR

EthereumJS

+

Browser

15 of 15

The End.�Discussion / Questions