-
Notifications
You must be signed in to change notification settings - Fork 54
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
Waku Peer Store: Integrated libp2p peer store #622
Comments
Updating milestone from Release v0.11 to next release (v0.12) to limit scope/risk. |
As I see it, while the title is "Waku Peer Store" we are talking about two different things:
Peer StoreFocusing on
Since some changes might be enough generic for Peer ManagerI would track everything related to peer management in a new issue, refer to #1353
As I see it this belongs to
Perhaps trimming peers should be a task of the |
Thanks for this proper breakdown, @alrevuelta. I agree with the separation between peer store and peer manager. Of course, even though it may logically reside in the same module, do you see further scope to separate
Indeed TBD. I think we can track but leave peer scoring as future work for now. Could become quite complex if factors from different layers (App, Waku, libp2p) needs to be considered.
Yes, I think so. Although we may want to trim using different rules than for trimming connections (open to be persuaded otherwise, btw). IMO storing peers is a cheaper exercise than maintaining some set of connections.
True. It's quite naive currently. One idea would be for this state (and possibly other non-connected states) to decay over time, so that peers become eligible for reconnection attempts. Will also comment on peer management issue. |
Background
Waku v2 currently defines its own peer store and manager.
nim-libp2p
has recently implemented a peer store that replicates much of the functionality provided by thenwaku
peer store.Proposed solution
Waku needs to integrate and use the libp2p peer store in the peer manager, where possible, and extend the store for its self-defined books (such as the
ConnectionBook
andDisconnectBook
- bothnwaku
-specific).Some proposals for what the Waku Peer Store should support:
CannotConnect
should eventually be removed)This store should be the basis from which a separate connection manager can:
relay
connectionsstore
,filter
,lightpush
), while prioritising peers that were manually added for these protocols (e.g. via--storenode
,--filternode
,--lightpushnode
) options. This could benefit from making these config items repeatable (we currently only support a single service node per protocol).identify
, etc.)The text was updated successfully, but these errors were encountered: