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

Docs: Fixes devP2P page #365

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

RazorClient
Copy link

@RazorClient RazorClient commented Feb 19, 2025

Wiki PR Checklist

Closes #148

Thank you for contributing to the Protocol Wiki! Before you open a PR, make sure to read information for contributors and take a look at following checklist:

  • Describe your changes, substitute this text with the information
  • If you are touching an existing piece of content, ask the original creator for review
  • If you need feedback for your content from wider community, share the PR in our Discord
  • Review changes to ensure there are no typos, see instructions bellow

This Pr reworks the el networking(devp2p) page and add info about various sub protocols

@RazorClient RazorClient mentioned this pull request Feb 19, 2025
@RazorClient
Copy link
Author

RazorClient commented Feb 19, 2025

hey @taxmeifyoucan @marioevz @JoshDavisLight @raxhvl
a bit hazy on the worklist part
any general rules would help!!!

@raxhvl
Copy link
Member

raxhvl commented Feb 26, 2025

Hey @RazorClient I will review it this weekend. I glanced through it and you're off to a good start.

Copy link
Member

@raxhvl raxhvl left a comment

Choose a reason for hiding this comment

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

Thanks for putting this together @RazorClient @raa-dev. I have left some comments, looking good!

I would say, let's merge this stub and we can improve it later.

@RazorClient RazorClient marked this pull request as ready for review March 5, 2025 17:27
@RazorClient
Copy link
Author

@raxhvl @taxmeifyoucan
This is a quick imp after adding the recommendations
ig we can go ahead and merge this and keep working on the devp2p page ?

@raxhvl
Copy link
Member

raxhvl commented Mar 6, 2025

ig we can go ahead and merge this and keep working on the devp2p page ?

Sounds good.

Copy link
Contributor

@taxmeifyoucan taxmeifyoucan left a comment

Choose a reason for hiding this comment

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

Thanks for the PR!

It's a good start but I believe it needs refining. The page seems to just recap some devp2p spec without much context and explanation. It should guide the reader through various parts of the communication stack, not only copy the content in many nested headers..

I would suggest waiting for next weeks talk, lecture 18 will be by Felix focused on devp2p! You can use his materials to refine this further


> :warning: This article is a [stub](https://en.wikipedia.org/wiki/Wikipedia:Stub), help the wiki by [contributing](/contributing.md) and expanding it.

The execution layer implements [devp2p](https://github.com/ethereum/devp2p) as its communication protocol with nodes in the network. It includes various subprotocols and features: eth, snap, les, pip, wit.
## Peer To Peer(P2P) Communication
Copy link
Contributor

Choose a reason for hiding this comment

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

Starting to read, this intro section sounds LLM generated. Please don't use LLM content in the wiki.

It's unnecessary long and generic. The intro could be just a short paragraph with links to more information about p2p networking/mesh networks, etc.


P2P communication is the foundation of many distributed applications, enabling efficient data sharing, real-time coordination, and resilient connectivity in decentralized systems.

## Importance of P2P in Ethereum
Copy link
Contributor

Choose a reason for hiding this comment

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

For the context you can add there is different p2p network in CL but then just focus it specifically on devp2p. Its importance is self explanatory..

- **RLPx supports multiple application-level subprotocols** that enable specialized communication between Ethereum nodes.
- These subprotocols are **built on top of the RLPx transport layer** and are used for data exchange, state synchronization, and light client support.

#### Common Ethereum Subprotocols
Copy link
Contributor

Choose a reason for hiding this comment

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

I think subprotocols should be in the first part of the section to provide an overview of what functions are there in the first place

| **Ethereum Snapshot Protocol (`snap`)** | Used for **state synchronization**, allowing nodes to download portions of the state trie. |
| **Light Ethereum Subprotocol (`les`)** | Supports **light clients**, enabling them to request data from full nodes without storing the full state. |
| **Portal Network (`portal`)** | A decentralized **state, block, and transaction retrieval network** for lightweight clients. |

Copy link
Contributor

Choose a reason for hiding this comment

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

Sources and extra resources are missing. Is this information based on devp2p spec or other document? List any relevant materials, devcon talks, etc

@RazorClient
Copy link
Author

Hey @taxmeifyoucan added the requested changes and left a few questions
Also will rework the parts after going through the debp2p lecture
Thnx !

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.

DevP2P
3 participants