Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(l2): implement state diffs #1015

Merged
merged 25 commits into from
Nov 7, 2024
Merged

feat(l2): implement state diffs #1015

merged 25 commits into from
Nov 7, 2024

Conversation

ManuelBilbao
Copy link
Contributor

@ManuelBilbao ManuelBilbao commented Oct 30, 2024

Motivation

With this PR, we now send the state diff (i.e. account updates, deposits and withdrawals) via EIP-4844 blobs. This is cheaper than using EIP-1559 calldata.

Description

The Proposer now re-exceutes the block to get the account updates. With this and deposits/withdrawals info, it generates a Blob encoding the diff as mentioned in crates/l2/docs/state_diffs.md and send it in the commitment step to L1.
For now, we'll use Ethereum's c-kzg-4844 library to do KZG operations. The idea is to change it with Lambdaworks later.

Closes #729

@ManuelBilbao ManuelBilbao marked this pull request as ready for review November 6, 2024 18:55
@ManuelBilbao ManuelBilbao requested a review from a team as a code owner November 6, 2024 18:55
@jrchatruc jrchatruc added this pull request to the merge queue Nov 7, 2024
Merged via the queue into main with commit 0f4d214 Nov 7, 2024
18 checks passed
@jrchatruc jrchatruc deleted the l2_state_diffs branch November 7, 2024 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

L2: Add EIP 4844 support for the L1 RPC client
2 participants