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

local geth --dev network with shanghai evm support #27365

Closed
q9f opened this issue May 26, 2023 · 8 comments
Closed

local geth --dev network with shanghai evm support #27365

q9f opened this issue May 26, 2023 · 8 comments

Comments

@q9f
Copy link
Contributor

q9f commented May 26, 2023

Rationale

Why should this feature exist?

  • Tooling expects a Shanghai EVM target
  • Mainnet and all testnets feature a Shanghai EVM target
  • However, the local devnets based on Clique/Ethash cannot easily support Shanghai

What are the use-cases?

  • Run code and test applications targeting Shanghai on a local devnet
  • Use Geth to run tests targeting Shanghai in CI

Implementation

Do you have ideas regarding the implementation of this feature?

  • Either create a FakeShanghai config that does not include withdrawals that can be applied to non-beacon consensus engine
  • Or create a FakeBeacon consensus that allows us to run a local devnet with beacon consensus (and Shanghai)

Are you willing to implement this feature?

@s1na
Copy link
Contributor

s1na commented May 26, 2023

Jared is working on a dev mode that is post-merge and uses the engine API #27327 for block building.

@antazoey
Copy link

ah ok, I believe I am also hitting this... I am getting invalid opcode PUSH0 when I compile with shanghai (using vyper)

@q9f
Copy link
Contributor Author

q9f commented May 30, 2023

ah ok, I believe I am also hitting this... I am getting invalid opcode PUSH0 when I compile with shanghai (using vyper)

Yes, exactly.

@holiman
Copy link
Contributor

holiman commented Jul 11, 2023

Done, with #27327

@holiman holiman closed this as completed Jul 11, 2023
@antazoey
Copy link

Is there a way to have this work when not using the --dev option (like for custom dev networks)?

@s1na
Copy link
Contributor

s1na commented Jul 21, 2023

@antazoey In your place I'd look at Kurtosis. They make it easy to spin up PoS testnets.

@rmlearney-digicatapult
Copy link

@s1na What if our network needs to be PoA?

@antazoey
Copy link

antazoey commented Nov 1, 2023

I am having better luck these days with PoA... The thing I was missing was setting "shanghaiTime": 0 in my genesis config.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants