[Peerstore] Event driven peerstore
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.9k
- Forks
- 1.3k
- Avg merge
- 13d 21h
- Merged PRs (30d)
- 1
Description
See https://github.com/libp2p/specs/issues/164 for a great writeup on why we want to do this.
Rather than callers listening to Network events/notifications & changing the state of the data(addresses, keys, supported protocols etc.) in the peerstore via it's API, the peerstore itself should listen to events such as `Connected`,`Disconnected`, `Identify Completed` etc. on the Eventbus & mutate it's internal data accordingly.
https://github.com/libp2p/go-libp2p/issues/801 should be completed before this.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked libp2p/specs issue 164 for the event-driven peerstore design, then verify the prerequisite work in go-libp2p issue 801. Trace the peerstore API and Eventbus handling to identify how Connected, Disconnected, and Identify Completed events should update addresses, keys, and supported protocols. Done means the peerstore owns these event-driven updates rather than callers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100