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

feat: organically bootstrap network and limit concurrency #2768

Open
wants to merge 7 commits into
base: rc-2025.1.2-hotfix1
Choose a base branch
from

Conversation

RolandSherwin
Copy link
Member

@RolandSherwin RolandSherwin commented Feb 20, 2025

  • Move NetworkDiscovery related components into a single module and expose just the required components.
  • Make the initial bootstrapping process baked inside the network code. Earlier, we exposed the Network::dial() fn that allowed the client and node to have very different way of bootstrapping and it was mostly just dialling ALL the peers given to them concurrently. This was highly inefficient and led to overloading of the peers in the bootstrap cache.
    • To make things simpler, the initial bootstrapping process is now part of the networking code and common for the client and the nodes.
    • We dial 3 of the provided initial bootstrap addrs concurrently at any time.
    • Once the RT reaches 5 peers, we let network discovery take over the rest of the bootstrapping, and we don't dial anymore bootstrap peers.
    • The bootstrap peers are just used to get inside the network, we cannot use them to discover the network (i.e, fill our RT).
  • Remove the Network::dial() public fn.

@jacderida jacderida changed the base branch from rc-2025.1.2-hotfix1 to main February 22, 2025 13:11
@RolandSherwin RolandSherwin changed the base branch from main to rc-2025.1.2-hotfix1 February 25, 2025 12:57
@RolandSherwin RolandSherwin force-pushed the bootstrap_rework branch 2 times, most recently from 7c4e461 to 6f56e52 Compare February 25, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants