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

Merge/foundation release/1.13.14 #623

Draft
wants to merge 359 commits into
base: master
Choose a base branch
from

Conversation

meowsbits
Copy link
Member

@meowsbits meowsbits commented Mar 4, 2024

Supersedes #621


What's Changed

  • bump min Go version to 1.21

Fixed


Comparison with last release: v1.13.1..v1.12.19
Docker images published under etclabscore/core-geth.

sandakersmann and others added 30 commits January 4, 2024 15:03
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin HS <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
This PR schedules the cancun fork for the goerli testnet as discussed on ACD.
Spec: ethereum/execution-specs#860

We schedule:
  goerli at 1705473120
When managing geth, it is sometimes desirable to do a partial wipe; deleting state but retaining freezer data. A partial wipe can be somewhat tricky to accomplish. 

This change implements the ability to perform partial wipe by making it possible to run geth removedb non-interactive, using command line options instead.
This is a rewrite of the 'simulated backend', an implementation of the ethclient interfaces
which is backed by a simulated blockchain. It was getting annoying to maintain the old
version of the simulated backend feature because there was a lot of code duplication with
the main client. 

The new version is built using parts that we already have: an in-memory geth node instance
running in developer mode provides the chain, while the Go API is provided by ethclient.
A backwards-compatibility wrapper is provided, but the simulated backend has also moved to
a more sensible import path: github.com/ethereum/go-ethereum/ethclient/simulated

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
* Fix broken badge in README.md

Replaced broken Github link with IPFS link for long-term storage.

* update go badge

Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>

---------

Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
* accounts, ethclient: minor tweaks on the new simulated backend

* ethclient/simulated: add an initial batch of gas options

* accounts, ethclient: remove mandatory gasLimit constructor param

* accounts, ethclient: minor option naming tweaks
This test was failling consistently on the github 32-bit build probably due to slow IO. Skipping it for that green check.
Given the discussions around deprecating pending (see #28623 or ethereum/execution-apis#495), we can move away from using the pending block internally, and use latest instead
Updates the reference tests to the latest version
Co-authored-by: Felix Lange <fjl@twurst.com>
meowsbits and others added 10 commits February 29, 2024 09:07
…tPos only if config configs it

Date: 2024-02-29 09:07:15-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…rge config

Date: 2024-02-29 09:07:41-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…hash ModeFake, fixes tests

The testdata use ethash as their consensus engine,
but define 0-values for all mixhashes.
So we need to not validate the PoW seals
for the test.

See the comment about how we might create a second
testdata suite that would actually define
mixhashes which could be validated by a real ethash
engine.

Date: 2024-02-29 09:40:40-07:00
Signed-off-by: meows <b5c6@protonmail.com>
--- FAIL: TestDifficulty (0.01s)
    --- FAIL: TestDifficulty/blockgenesistest.json (0.00s)
panic: json: cannot unmarshal array into Go value of type map[string]map[string]json.RawMessage in file testdata/BasicTests/blockgenesistest.json
Date: 2024-03-01 14:21:37-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
      core/txpool/blobpool/blobpool.go
      eth/catalyst/api.go
      eth/catalyst/api_test.go
      params/version.go
Date: 2024-03-04 09:46:29-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2024-03-04 09:48:08-07:00
Signed-off-by: meows <b5c6@protonmail.com>
@meowsbits meowsbits requested a review from ziogaschr March 4, 2024 23:25
@meowsbits meowsbits changed the base branch from master to merge/foundation-release/1.13.5 March 4, 2024 23:31
…kipped

Date: 2024-03-06 11:57:50-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Base automatically changed from merge/foundation-release/1.13.5 to master March 11, 2024 13:10

jobs:
build:
runs-on: self-hosted
Copy link
Contributor

Choose a reason for hiding this comment

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

we would probably need to configure this runner on our side

@@ -0,0 +1,168 @@
language: go
go_import_path: github.com/ethereum/go-ethereum
Copy link
Contributor

Choose a reason for hiding this comment

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

besides changing this, we could try to configure TravisCI to see if we can match some of this builds

Dockerfile.alltools Show resolved Hide resolved
--verbosity 5 \
--authrpc.jwtsecret 0x7365637265747365637265747365637265747365637265747365637265747365

Note that the tests also require access to the engine API.
Copy link
Contributor

Choose a reason for hiding this comment

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

Based on this note I'm not sure if we should integrate devp2p changes without checking if it still works for our diagnosing usage

cmd/devp2p/rlpxcmd.go Show resolved Hide resolved
cmd/evm/runner.go Show resolved Hide resolved
cmd/geth/main.go Outdated Show resolved Hide resolved
if ctx.IsSet(MaxPeersFlag.Name) {
cfg.MaxPeers = ctx.Int(MaxPeersFlag.Name)
if lightServer && !ctx.IsSet(LightMaxPeersFlag.Name) {
Copy link
Member

Choose a reason for hiding this comment

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

Once we release this version, we have to update our nodes to stop serving light clients.

core/genesis.go Outdated Show resolved Hide resolved
@@ -752,9 +723,6 @@ func testMultiSynchronisation(t *testing.T, protocol uint, mode SyncMode) {
func TestMultiProtoSynchronisation68Full(t *testing.T) { testMultiProtoSync(t, eth.ETH68, FullSync) }
func TestMultiProtoSynchronisation68Snap(t *testing.T) { testMultiProtoSync(t, eth.ETH68, SnapSync) }
func TestMultiProtoSynchronisation68Light(t *testing.T) { testMultiProtoSync(t, eth.ETH68, LightSync) }
func TestMultiProtoSynchronisation67Full(t *testing.T) { testMultiProtoSync(t, eth.ETH67, FullSync) }
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to keep ETH67 and its tests?

Copy link
Member

Choose a reason for hiding this comment

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

What is the latest version implemented by besu and Erigon?

Copy link
Member

Choose a reason for hiding this comment

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

This is the PR removing it ethereum/go-ethereum#28956

Copy link
Member

Choose a reason for hiding this comment

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

PR that reverts the ETH67 removal #629

Copy link
Member

Choose a reason for hiding this comment

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

Ohh, @meowsbits @diega we have to merge this one I think. If yes, then we have to rerun our sync test.

@ziogaschr
Copy link
Member

I have finished with the review and made some comments. After we check/work on all the comments here, we can run a sync test and merge it I think.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

My browser is struggling to load the linked comment. Please clarify which comment you're pointing to.

Copy link
Member

Choose a reason for hiding this comment

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

My browser can't load it either. It was probably a comment in code with a TODO on your name.

@ziogaschr ziogaschr mentioned this pull request Apr 25, 2024
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