Peer Exchange Protocol
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- distributed-systems, networking
Research direction
Start by reading the linked go-libp2p discovery interface and comparing this proposal with issue #3. The issue names no files or tests; the work would need an agreed protocol design and implementation before completion could be verified.
Written by the indexing model from the issue text.
Description
Not to be confused with #3.
We should have a global peer exchange protocol for exchanging information on peers wiling to perform some service and/or speak some protocol. This would implement the discovery (https://github.com/libp2p/go-libp2p-discovery/) interface and could be run in parallel to a dht-based discovery service to widen a search.
Basic protocol proposal:
message Request {
// Service descriptions (arbitrary strings).
repeated string services = 0;
// Number of peers to return (0 means unlimited).
int32 limit = 1;
}
message Response {
repeated Peer peers = 0
}
message Peer {
// Peer id
bytes id = 0;
// Addresses for the peer.
repeated string addresses = 1
// List of services the peer supports. Empty means "unspecified".
//
// TODO: Should we use numbers and index into some table? Maybe index
// into the table from the request?
repeated string services = 2
// Timestamp when the peer was last seen.
// 0 for currently connected
uint64 lastSeen = 3;
}
- Dominant language
- No language data
- Stars
- 38
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
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.
More from libp2p/notes
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
DHT
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
bug examples invalid iris
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
ai_reviewed
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ydb-platform/ydb#53838 · 3 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
NovaSky-AI/SkyRL#2263 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
johanhaleby/occurrent#1106 ·
-
ShuffleManagerRegistry.register recursion guard is inverted, permits GlutenShuffleManager subclasses Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100