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

Run a private PoA network that supports Shanghai/PUSH0 without --dev #28449

Closed
rmlearney-digicatapult opened this issue Nov 1, 2023 · 2 comments

Comments

@rmlearney-digicatapult
Copy link

rmlearney-digicatapult commented Nov 1, 2023

Have been trying to fire up a private network based largely upon the Goerli dumpgenesis with Clique PoA

If I keep the following lines in the genesis that make the network think it's post-merge (so I can use PUSH0), it switches to PoS and searches for a beacon chain before falling over quite quickly:

        "shanghaiTime": 0,
        "terminalTotalDifficulty": 0,
        "terminalTotalDifficultyPassed": true,

If I remove these options, then the network remains PoA but PUSH0 does not work (i.e. London)

I note a similar issue was raised under #27327 which resulted in code changes, which fires up a simulated beacon chain by using the --dev switch. But this is PoS and not PoA.

Is it possible to run a private PoA network that is compatible with Shanghai/PUSH0?

@q9f
Copy link
Contributor

q9f commented Nov 1, 2023

Currently, you only have two options:

To make the beacon chain permissioned (as in PoA), you would have to modify the deposit contract (as Sepolia does). But I'm not sure the Geth team can help you with that, it's pretty much out of scope for the client development.

Hope that helps.

@karalabe
Copy link
Member

karalabe commented Nov 2, 2023

Is it possible to run a private PoA network that is compatible with Shanghai/PUSH0?

Unfortunately not. Clique was a very simple change of PoW/Ethash to make it work with signatures. The switch to PoS introduced a lot of new changes that cannot be backported into Clique itself.

Whilst the PUSH0 might be doable, that would mean forks mean different things on different networks, which we are against with Geth. We've always committed to follow the Ethereum specs, so any network based off of Geth needs to do the same to.

TL;DR: You need a merged private network with all the bells and whistels.

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

3 participants