-
Notifications
You must be signed in to change notification settings - Fork 0
Merge Geth [v1.14.0...v1.14.13] #487
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
Conversation
|
During the initialization process, there were several log errors, but it seemed that they didn't cause any impact. However, I have no idea how to solve this problem. |
|
When the node starts the synchronization process, it seems to be incorrect at first. It takes some time before it can synchronize normally. The problem of initial synchronization failure has existed before. Now, the nodes that make the error will be disabled, and an error message "Reject duplicated disable operation" will also be reported. Before This issue is caused by modifying the default db's storage scheme. Please refer to ethereum/go-ethereum#29108 for details. |
IMHO, if error messages appear in geth, they need to be tackled (or at least we need to know the reason why they appear). FYI, @txhsl @AnnaShaleva |
After the v1.14.11 merge was completed, one error was eliminated. The error log |
Seems not necessary. If the head block should be there but is not there, then the error is an error. What we need to pay attention to is whether the Maybe BSC customized a lot on Geth, but I think we don't expect too many customized changes on the upsteam. |
|
@qianhh How about ethereum/go-ethereum#29711, I think we may don't need to revert it. |
|
Also ethereum/go-ethereum#29179 is a bit tricky. We have supported threshold signatures, but strictly speaking, we still allow the multi-sig scheme. The reorg thing is not solved in multi-sig, so if we turn on the At least, we need to confirm its impact in testing, by enabling |
I wasn't completely sure about this before. Since it was used in the dbft, I left it as it was. If everything is okay, then I'll incorporate it into the our version. |
You are correct. I conducted 7 CNs privnet tests, and the result was that the network could not switch to amev. A revert operation has been performed. |
|
Now, during the operation of the network, the following error logs occurs occasionall:
I found that the aforementioned issue occurred when v1.14.0 was merged. |
Try rebasing to the latest commit. I fixed several bugs since
I think this is a behaviour supposed to happen? |
But it seems that it cannot synchronize the blocks at the back. |
|
I got some errors on Privnet node 8. |
This will be successfully completed later on. It just requires some time. #487 (comment) |
How, just waiting? Then it's still an issue we need to solve. |
cefd278 to
955cc09
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR merges Geth versions v1.14.0 through v1.14.13 into the bane-main branch, bringing significant updates to the Ethereum client implementation. The changes include major architectural improvements, API deprecations, and modernization of the codebase.
- Updates to EVM assembly parsing with new EOF (EIP-615) instruction handling
- Removal of deprecated personal namespace and related functionality
- Modernization of consensus engine interfaces with simplified signatures
- Enhanced beacon light client support and configuration options
Reviewed Changes
Copilot reviewed 199 out of 928 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| core/asm/lexer.go | Minor comment correction for accept function |
| core/asm/asm_test.go | Complete rewrite of assembly tests with EOF instruction support |
| core/asm/asm.go | Added EOF instruction iterator and enhanced instruction parsing |
| console/console_test.go | Updated test comments and assertions for deprecated functionality |
| console/console.go | Removed deprecated personal namespace initialization |
| console/bridge_test.go | Complete file removal - tests for deprecated personal functions |
| console/bridge.go | Major cleanup removing personal namespace bridge functions |
| consensus/misc/eip1559/eip1559.go | Replaced math.BigMax with inline comparisons for base fee calculation |
| consensus/misc/dao.go | Updated for new VM state interface and tracing support |
| consensus/merger.go | Complete file removal - merger functionality no longer needed |
| consensus/ethash/consensus.go | Updated consensus engine interface with simplified signatures |
| consensus/dbft/preblock.go | Simplified block creation using new Body structure |
| consensus/dbft/dkg.go | Updated API call with proper gas limits |
| consensus/dbft/dbft.go | Major updates for new consensus interfaces and block structures |
| consensus/dbft/chainreader.go | Updated interface signature for ProcessState method |
| consensus/consensus.go | Simplified consensus engine interface removing uncles/withdrawals parameters |
| consensus/clique/snapshot_test.go | Updated imports to use standard library slices |
| consensus/clique/snapshot.go | Modernized snapshot copying using maps.Clone and slices.Clone |
| consensus/clique/clique_test.go | Updated test comments removing Görli references |
| consensus/clique/clique.go | Updated consensus engine interface implementation |
| consensus/beacon/consensus.go | Enhanced beacon consensus with verkle tree witness support |
| common/types_test.go | Added comprehensive tests for Decimal type |
| common/types.go | Fixed Decimal parsing and added PrettyBytes helper |
| common/prque/sstack.go | Updated to use standard library cmp instead of golang.org/x/exp |
| common/prque/prque.go | Updated priority queue to use standard library cmp |
| common/prque/lazyqueue.go | Updated lazy queue implementation |
| common/path.go | Minor whitespace cleanup |
| common/math/integer_test.go | Updated to use standard library math constants |
| common/math/integer.go | Removed duplicate integer constants, improved JSON parsing |
| common/math/big_test.go | Removed tests for deprecated utility functions |
| common/math/big.go | Removed deprecated BigMax, BigMin, and other utility functions |
| common/lru/basiclru.go | Used clear() builtin for map clearing |
| common/bitutil/bitutil_test.go | Updated source URL references |
| common/bitutil/bitutil.go | Updated source URL references |
| cmd/utils/prompt_test.go | Removed unnecessary test variable assignment |
| cmd/utils/history_test.go | Improved file path handling and error messages |
| cmd/utils/flags_test.go | Removed unnecessary test variable assignment |
| cmd/utils/flags_legacy.go | Reorganized deprecated flags and added new deprecations |
| cmd/utils/flags.go | Major update with new beacon client flags and removed deprecated options |
| cmd/utils/export_test.go | Improved test cleanup using t.TempDir() |
| cmd/utils/cmd.go | Updated file path handling |
| cmd/rlpdump/main.go | Minor formatting improvement |
| cmd/p2psim/main.go | Complete file removal - p2psim tool deprecated |
| cmd/geth/version_check_test.go | Removed unnecessary test variable assignment |
| cmd/geth/verkle.go | Updated imports and flag handling |
| cmd/geth/testdata/vcheck/vulnerabilities.json | Added new vulnerability entries |
| cmd/geth/testdata/clique.json | Added terminalTotalDifficultyPassed configuration |
| cmd/geth/snapshot.go | Updated flag handling and database operations |
| cmd/geth/misccmd.go | Updated version display |
| cmd/geth/main.go | Major update with new flags and removed deprecated options |
| cmd/geth/logging_test.go | Improved test file handling |
| cmd/geth/exportcmd_test.go | Improved test cleanup |
| cmd/geth/dbcmd.go | Enhanced database commands with history inspection |
| cmd/geth/consolecmd_test.go | Updated test configurations and timing |
| cmd/geth/consolecmd.go | Updated flag handling |
| cmd/geth/config.go | Major configuration updates with beacon support |
| cmd/geth/chaincmd.go | Simplified genesis initialization and chain operations |
| cmd/geth/attach_test.go | Minor comment correction |
| cmd/geth/accountcmd_test.go | Removed unnecessary test variable assignment |
| cmd/evm/testdata/32/txs.json | Added new test transaction data |
Comments suppressed due to low confidence (1)
core/asm/asm.go:75
- Variable name 'a' is ambiguous. Consider renaming to 'argSize' or 'operandSize' to better reflect its purpose as the size of instruction arguments.
var a int
As long as these miners reach a consensus and generate a block, and then the regular nodes are started, this synchronization issue will not occur at this time. So, do we still need to fix this issue? |
It sounds like the same as what we are in the current version. But my Node 8 is repeating this error at the beginning, regardless of the network consensus. But, well, I see, this issue is imported from the Geth upstream itself, along with the new feature. When we use back to hashDB, everything works as it used to be. Let's keep in mind that the original Geth is no longer designed for local consensus. |
|
In version 1.14, the archive nodes ( |
|
I think we may need to revert ethereum/go-ethereum#29895 as well. |
|
And why we revert ethereum/go-ethereum#30609, just question, because I think things can work with only |
The [kilic](https://github.com/kilic/bls12-381) bls12381 implementation has been archived. It shouldn't be necessary to include it as a fuzzing target any longer. This also adds fuzzers for G1/G2 mul that use inputs that are guaranteed to be valid. Previously, we just did random input fuzzing for these precompiles.
This adds an API method `DropTransactions` to legacy pool, blob pool and txpool interface. This method removes all txs currently tracked in the pools. It modifies the simulated beacon to use the new method in `Rollback` which removes previous hacky implementation that also erroneously reset the gas tip to 1 gwei. --------- Co-authored-by: Felix Lange <[email protected]>
Continuation of ethereum/go-ethereum#30381
…(#29895)" This reverts commit b7fdb92.
rebased ethereum/go-ethereum#29766 . The downstream branch appears to have been deleted and I don't have perms to push to that fork. `TerminalTotalDifficultyPassed` is removed. `TerminalTotalDifficulty` must now be non-nil, and it is expected that networks are already merged: we can only import PoW/Clique chains, not produce blocks on them. --------- Co-authored-by: stevemilk <[email protected]>
This change makes it so that the wrapped statedb with tracing-hooks is passed to the dbft system call processing
02edefe to
26ad97d
Compare
This is one further step towards removing account management from `geth`. This PR deprecates the flag `unlock`, and makes the flag moot: unlock via geth is no longer possible.
The current implementation is still far away from Roman's proposal, we may need more discussions and code changes to close it. Let's leave it open for now. I will update its description to make it more accurate. |
OK. What is implemented here is merely for the convenience of later code merging. It cannot be called a refactor. |
This PR merges v1.14.0...v1.14.13 of Geth into bane-main and aimed to close #233.
Progress
The list of important PRs that were merged. @AnnaShaleva, @txhsl, please take a look at these PRs before the review.
NewBlock,WithBodytaketypes.Bodyethereum/go-ethereum#29482Merged but Reverted
setEtherbaseethereum/go-ethereum#30488Ref bnb-chain/bsc#2761.