-
Notifications
You must be signed in to change notification settings - Fork 3
network module #8
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
turuslan
commented
Sep 8, 2025
- block gossip
- block request
- template to derive EventType
- module dispatch and event macro
- fix module loader symlink
- enr encode/decode
- sample peer index
- block gossip - block request - template to derive EventType - module dispatch and event macro - fix module loader symlink - enr encode/decode - sample peer index Signed-off-by: turuslan <[email protected]>
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 implements the core networking module functionality, including peer-to-peer communication protocols, gossip networking, block request/response handling, and ENR (Ethereum Node Record) encoding/decoding capabilities.
- Adds comprehensive networking infrastructure with libp2p integration for peer communication
- Implements block gossip, status exchange, and block request protocols
- Introduces ENR encoding/decoding for peer discovery and connection management
Reviewed Changes
Copilot reviewed 64 out of 65 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| vcpkg.json | Adds networking dependencies including boost-asio, boost-beast, cppcodec, leanp2p |
| vcpkg-overlay/* | Package configurations for networking dependencies (liblsquic, libsecp256k1, leanp2p, etc.) |
| src/types/* | Defines network message types, status messages, block requests, and vote structures |
| src/serde/enr.* | ENR encoding/decoding implementation for peer discovery |
| src/modules/networking/* | Main networking module with gossip, status, and block request protocols |
| src/utils/sample_peer.hpp | Utility for generating sample peer configurations |
| tests/unit/blockchain/block_storage_test.cpp | Updates block hash calculation to remove hasher dependency |
Comments suppressed due to low confidence (2)
vcpkg-overlay/liblsquic/fix-found-boringssl.patch:1
- Variable name is misspelled - 'LI' should be 'LIB' to match the intended variable substitution.
diff --git a/CMakeLists.txt b/CMakeLists.txt
src/modules/networking/networking.cpp:1
- [nitpick] The IP address byte order reversal (ip[3], ip[2], ip[1], ip[0]) suggests big-endian to little-endian conversion, but this should be documented or use a more explicit conversion method for clarity.
/**
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: turuslan <[email protected]>
Signed-off-by: turuslan <[email protected]>
Signed-off-by: turuslan <[email protected]>
Signed-off-by: turuslan <[email protected]>
Signed-off-by: turuslan <[email protected]>
Signed-off-by: turuslan <[email protected]>