livepeer / livepeer/go-PPSPP

Node Joining Swarm

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
11
Forks
3
PR merge metrics
No merged PRs in 30d

Description

The PPSPP paper relies on a centralized tracker (PPSTP) or a DHT to discover the swarm.

For Livepeer, since there is already the underlining kademlia network, we would be able to route to the correct broadcaster (and treat the Livepeer kademlia network as the DHT).

For the stream-specific swarms, a simple approach would be for the broadcaster to keep track of all the peers in the swarm. We may still need to implement a tracker system later if the network isn't good at peer discovery, or if we need an incentivized tracker/seeder to fill in for deficiencies in the network.

Let's create something like `func join(strmID str)[]PeerInfo`, that way we can swap out the implementation if we decide to use trackers in the future.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing Go PPSPP implementation and the surrounding peer-discovery or Kademlia integration, then trace how a stream-specific swarm is represented. Use the proposed join(strmID str)[]PeerInfo entry point to define the discovery boundary; done should include a clear node-joining path that can later accommodate tracker-based discovery.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.