go-ethereum icon indicating copy to clipboard operation
go-ethereum copied to clipboard

core/types v2 tracking issue

Open fjl opened this issue 6 months ago • 1 comments

The core/types package is an API-stable package containing the Ethereum protocol types. While we have managed to keep it stable for many years, it is time to fix some fundamental issues with the API. This issue is for collecting ideas for the new package.

Receipts

  • Receipt should be split into derived/un-derived
  • decoding receipts and logs is slow, so we should ideallly implement the consensus receipts as an opaque type that is not fully decoded
  • Receipt bloom filter should be removed somehow (like in eth/protocols/eth/receipt.go)

Block header

  • Make headers extensible by L2 projects more easily by splitting into 'base' fields and beacon-chain related fields.

Transactions

  • Make it possible to implement new transaction types outside of core/types

Backward-compatibility wrapper

We will not be able to fully implement the old core/types API on top of the new one, so I guess we will just have to maintain both packages for a while.

fjl avatar May 27 '25 12:05 fjl

Such a big quest...

ForrestKim42 avatar May 29 '25 15:05 ForrestKim42

would like to work on this!

rose2221 avatar Jun 16 '25 23:06 rose2221