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

all: remove ethash pow, only retain shims needed for consensus and tests #27178

Merged
merged 4 commits into from
May 3, 2023

Conversation

karalabe
Copy link
Member

@karalabe karalabe commented Apr 27, 2023

Remove PoW 😅

The PR also removes the ethash related flags, configs and API methods in a non-backwards compatible way. There is quite a bit of stuff that we'd need to keep dangling in the code to avoid "that one user" not having upgrade issues. As we're right after a fork, there's no immediate urgency to update, might as well bork things now.

Probably the PR should add some vocal failure modes for running Geth in non-beacon-ethash mode. Done!

We also need a followup PR to move the consensus things into a legacy or historical package (or directly into the beacon package) and to rewrite the tests to use some beacon shims instead of the current skeletons in ethash. Then we can be free. That needs a bit of refactor so I wanted to start by mass removes and then review the refactors separately more easily.

@sandakersmann
Copy link
Contributor

You also have some residue in the lower parts of README.md about running a private miner.

@karalabe karalabe added this to the 1.11.7 milestone May 3, 2023
@karalabe karalabe merged commit dde2da0 into ethereum:master May 3, 2023
2 checks passed
Copy link
Member

@MariusVanDerWijden MariusVanDerWijden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SGTM

@@ -208,10 +208,6 @@ func newTestWorker(t *testing.T, chainConfig *params.ChainConfig, engine consens
return w, backend
}

func TestGenerateBlockAndImportEthash(t *testing.T) {
testGenerateBlockAndImport(t, false)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we also remove the functionality in the test? L 229ff

@zhiqiangxu
Copy link
Contributor

Does this mean go-ethereum doesn't support sync from genesis any more?

@karalabe
Copy link
Member Author

karalabe commented Jun 6, 2023 via email

shekhirin pushed a commit to shekhirin/go-ethereum that referenced this pull request Jun 6, 2023
…sts (ethereum#27178)

* all: remove ethash pow, only retain shims needed for consensus and tests

* all: thank you linter

* all: disallow launching Geth in legacy PoW mode

* cmd/env/internal/t8ntool: remove dangling ethash flag
holiman added a commit that referenced this pull request Jul 6, 2023
Back before #27178 , we spun up a number of ethash verifiers to verify headers. So we also had tests to ensure that we were indeed able to abort verification even if we had multiple workers running.

With PR #27178, we removed the parallelism in verification, and these tests are now failing, since we now just sequentially fire away the results as fast as possible on one routine.

This change removes the (sometimes failing) tests
antonydenyer pushed a commit to antonydenyer/go-ethereum that referenced this pull request Jul 28, 2023
…sts (ethereum#27178)

* all: remove ethash pow, only retain shims needed for consensus and tests

* all: thank you linter

* all: disallow launching Geth in legacy PoW mode

* cmd/env/internal/t8ntool: remove dangling ethash flag
MoonShiesty pushed a commit to MoonShiesty/go-ethereum that referenced this pull request Aug 30, 2023
…sts (ethereum#27178)

* all: remove ethash pow, only retain shims needed for consensus and tests

* all: thank you linter

* all: disallow launching Geth in legacy PoW mode

* cmd/env/internal/t8ntool: remove dangling ethash flag
MoonShiesty pushed a commit to MoonShiesty/go-ethereum that referenced this pull request Aug 30, 2023
Back before ethereum#27178 , we spun up a number of ethash verifiers to verify headers. So we also had tests to ensure that we were indeed able to abort verification even if we had multiple workers running.

With PR ethereum#27178, we removed the parallelism in verification, and these tests are now failing, since we now just sequentially fire away the results as fast as possible on one routine.

This change removes the (sometimes failing) tests
devopsbo3 pushed a commit to HorizenOfficial/go-ethereum that referenced this pull request Nov 10, 2023
…sts (ethereum#27178)

* all: remove ethash pow, only retain shims needed for consensus and tests

* all: thank you linter

* all: disallow launching Geth in legacy PoW mode

* cmd/env/internal/t8ntool: remove dangling ethash flag
devopsbo3 pushed a commit to HorizenOfficial/go-ethereum that referenced this pull request Nov 10, 2023
Back before ethereum#27178 , we spun up a number of ethash verifiers to verify headers. So we also had tests to ensure that we were indeed able to abort verification even if we had multiple workers running.

With PR ethereum#27178, we removed the parallelism in verification, and these tests are now failing, since we now just sequentially fire away the results as fast as possible on one routine.

This change removes the (sometimes failing) tests
devopsbo3 added a commit to HorizenOfficial/go-ethereum that referenced this pull request Nov 10, 2023
devopsbo3 added a commit to HorizenOfficial/go-ethereum that referenced this pull request Nov 10, 2023
devopsbo3 added a commit to HorizenOfficial/go-ethereum that referenced this pull request Nov 10, 2023
lgray added a commit to lgray/chainindex that referenced this pull request Dec 29, 2023
lgray added a commit to lgray/chainindex that referenced this pull request Dec 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants