Skip to content

Conversation

@Savid
Copy link
Member

@Savid Savid commented Jan 9, 2026

Add Server capability to execution mimicry package to accept incoming peer connections alongside existing Client dial-out functionality.

New features:

  • Server struct with multi-peer support and configurable MaxPeers
  • ServerPeer for handling individual inbound connections
  • RLPx responder-mode handshake (nil pubkey triggers responder path)
  • StatusProvider callback for dynamic Status responses
  • Network filtering with AllowedNetworks (NetworkID, Genesis, ForkID)
  • Event system: OnPeerConnected, OnPeerDisconnected, OnHello, OnStatus, etc.

Refactoring:

  • Extract decode/encode helpers for message types (Hello, Status, etc.)
  • Add Server event topics and subscription methods to publish.go

Tests:

  • config_test.go: Network.Matches() and DefaultServerConfig()
  • server_test.go: NewServer, Start/Stop lifecycle, network filtering

Add Server capability to execution mimicry package to accept incoming
peer connections alongside existing Client dial-out functionality.

New features:
- Server struct with multi-peer support and configurable MaxPeers
- ServerPeer for handling individual inbound connections
- RLPx responder-mode handshake (nil pubkey triggers responder path)
- StatusProvider callback for dynamic Status responses
- Network filtering with AllowedNetworks (NetworkID, Genesis, ForkID)
- Event system: OnPeerConnected, OnPeerDisconnected, OnHello, OnStatus, etc.

Refactoring:
- Extract decode/encode helpers for message types (Hello, Status, etc.)
- Add Server event topics and subscription methods to publish.go

Tests:
- config_test.go: Network.Matches() and DefaultServerConfig()
- server_test.go: NewServer, Start/Stop lifecycle, network filtering
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.

2 participants