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

remove LES #2098

Merged
merged 4 commits into from
Jan 3, 2024
Merged

remove LES #2098

merged 4 commits into from
Jan 3, 2024

Conversation

MatusKysel
Copy link
Contributor

@MatusKysel MatusKysel commented Dec 21, 2023

BSC Client Update: Removal of LES and Light Client

Description

This update is dedicated to removing the LES (Light Ethereum Subprotocol) and the light client functionality from our BSC client codebase. The primary goal is to streamline the code, enhance performance, and align with our strategic direction towards supporting more robust, full-node operations on the BNB Chain.

Rationale

The removal of LES and the light client from the BSC codebase is a strategic decision influenced by their diminishing utility, performance considerations, and maintenance demands. Originally designed for light clients on BSC, LES has observed a decline in usage, particularly with the growing trend of full nodes within the BSC ecosystem. Maintaining this feature has been increasingly resource-intensive. Eliminating it allows for a more focused approach towards optimizing the performance and security of full nodes. This move is also in line with the broader trend within the BNB Chain community towards stronger and more secure network operations.

Example

CLI/API response before changes:

> bsc.syncmode
"light"

CLI/API response after changes:

> bsc.syncmode
Error: 'light' sync mode is no longer supported.

Changes

Notable changes:

  • The LES protocol code has been removed from the BSC client.
  • Light client mode is discontinued, with a shift towards full node operations.
  • The codebase has been optimized by removing components related to LES.
  • A renewed emphasis on enhancing the performance and security features of full nodes.

@MatusKysel MatusKysel changed the base branch from master to develop December 21, 2023 15:55
@MatusKysel MatusKysel changed the title Remove les remove LES Dec 21, 2023
@MatusKysel MatusKysel marked this pull request as ready for review December 22, 2023 11:52
@MatusKysel MatusKysel requested a review from weiihann January 2, 2024 13:27
zzzckck
zzzckck previously approved these changes Jan 3, 2024
Copy link
Collaborator

@zzzckck zzzckck left a comment

Choose a reason for hiding this comment

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

LGTM

MatusKysel and others added 4 commits January 3, 2024 09:26
* cmd, les, tests: remove light client code

This commit removes the light client (LES) code.
Since the merge the light client has been broken and
it is hard to maintain it alongside the normal client.
We decided it would be best to remove it for now and
maybe rework and reintroduce it in the future.

* cmd, eth: remove some more mentions of light mode

* cmd: re-add flags and mark as deprecated

* cmd: warn the user about deprecated flags

* eth: better error message
This is a minor refactor in preparation of changes to range verifier. This PR contains no intentional functional changes but moves (and renames) the light.NodeSet
This changes removes the package 'light', which is currently unused.
Copy link
Collaborator

@zzzckck zzzckck left a comment

Choose a reason for hiding this comment

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

LGTM

@zzzckck zzzckck merged commit 5fa1755 into develop Jan 3, 2024
4 of 5 checks passed
@unclezoro unclezoro deleted the remove-les branch February 4, 2024 03:14
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.

5 participants