Skip to content

Conversation

@0x00101010
Copy link

@0x00101010 0x00101010 commented Dec 5, 2025

Resolves #2034

Initial draft PR opened for conversation:

Current implementation:

  1. Adding a new observer actor that handles external connections (unauthenticated)
  2. Observer sits at simplex layer instead of p2p layer, since we're not a participant in the p2p network
  3. broadcast certificates in obserer
  4. broadcasts replay certificates

Things that need alignment on:

  1. Seems to me that just open a websocket port for observers to listen might be the better solution for this case (if people just want to observe the network consensus progress), Though current implementation takes in a Listener type currently, ideally we take in just a WebSocketStream, let me know if there might be other scenarios that require lower level Listener
  2. imo we should by default not broadcast replay messages (tons of waste basically), but in case that listener wants historical state (for backfill or whatever), it could be helpful. Do we want to make it configurable or just simply not broadcast them?

Remaining work:

  1. update tests & examples (reshare / bridge, etc) with new setup
  2. tests
  3. example client or websocket client (depending on if we use Listener or WebSocketStream)
  4. docs

},
);

let observer_config = cfg.listen_addr.map(|listen_addr| observer::Config {
Copy link
Contributor

Choose a reason for hiding this comment

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

This should require no changes to simplex and can be defined entirely over the Reporter stream 👍

Copy link
Contributor

Choose a reason for hiding this comment

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

See #2030 for an example of this

Copy link
Contributor

Choose a reason for hiding this comment

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

I also wrote up an issue discussing what e2e impl we'd want to build with this: #2466

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.

[p2p/lookup] Add Support for Persistent Peers

2 participants