Date: 2025-04-07 In this document, I'd like to lay out some of the ideas for L2 forks of go-ethereum to work with the upstream code. At a high level, what we want to achieve is that L2 projects can use go-ethereum as upstream and have kind of a good time. Conflicts from upstream changes, especially larger ones, should be minimized. Common features across L2s, and even L2 common core features, should be implemented directly in the upstream where possible. L2 project authors should be able to collaborate via the upstream. What to do about rollup-geth, the repository The existing rollup-geth project at https://github.com/NethermindEth/rollup-geth has some features merged and others implemented as PRs. We won't just merge their project directly into upstream. We will need to collaborate with the rollup-geth development team in order to schedule submission and review of each change into upstream on an individual basis, and this process should also take into account the perspective of the intended consumers of rollup-geth, the L2 downstream projects. As such, we will have calls with these actors over a longer period of time in order to figure out the sequence of changes.
4/8/2025This document is a bit of a brain dump of the RPC Standardization problem space. Mostly just posting this for discussion purposes, and also as an intro for people who aren't familiar with the space. There are some solution pointers at the end. If you are familiar with Ethereum's RPC, you may want to skip to that. The Spec The canonical Ethereum JSON-RPC specification is at https://github.com/ethereum/execution-apis The spec uses the OpenRPC format. After a lot of work over the last year or so, it's pretty comprehensive and covers most methods that can be relied on by users.
1/13/2025