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

Implement eth_simulatev1 #6203

Open
non-fungible-nelson opened this issue Nov 22, 2023 · 0 comments
Open

Implement eth_simulatev1 #6203

non-fungible-nelson opened this issue Nov 22, 2023 · 0 comments
Labels
enhancement New feature or request mainnet RPC

Comments

@non-fungible-nelson
Copy link
Contributor

non-fungible-nelson commented Nov 22, 2023

was eth_multicallV1

Description

Implementation of ethereum/execution-apis#484
More detail.

This introduces a new RPC method eth_multicallV1 allows users to make complex RPC calls to Ethereum nodes. Compared to eth_call, eth_multicallV1 has following extra features:

  • You can encapsulate multiple dependent calls in a single call
  • The calls happen inside blocks. You can simulate multiple blocks that can be arbitrary far from each other
  • Block variables can be overridden (e.g. time)
  • Account state can be overridden for every block (e.g. code and balance)
  • It is possible to override precompiles (e.g. ecrecover) with arbitrary EVM code
  • ETH transfers produce logs similar to ERC20 logs
  • Validation mode. You can choose to do very strict simulation or more relaxed one similar to eth_call

Presentation: https://docs.google.com/presentation/d/1lEaqHTY3ud8pe6VAFwLkb-jdoHpTMBfuF1K9OKy-azs/edit#slide=id.p

As a node runner, I want to be able to have access to all standard RPCs. This includes the speced RPC eth_multicallV1.

Acceptance Criteria

@macfarla macfarla changed the title Implement eth_multicallv1 Implement eth_simulatev1 Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mainnet RPC
Projects
None yet
Development

No branches or pull requests

1 participant