livepeer / livepeer/livepeer-python-gateway
Single-shot WebSocket support with on-chain payments
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1
- Forks
- 7
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
What
Support single-shot WebSocket apps on-chain. A WS held-open session needs the same interval payment streamer as SSE, but the initial payment can't ride an inline 402 — you can't 402 a WS upgrade, and WS clients can't read the upgrade response headers.
Scope
get_payment_params()— preflight call that fetches the 402 challenge (manifest_id,payment_params,orchestrator,payment_interval) over a plain HTTP request, so the client can pay before the upgrade.ws_connecthelper — sets the initial payment headers (Livepeer-Payment/Livepeer-Segment/Livepeer-Payer-Address) on the upgrade request, opens the WS, starts the payment streamer, and stops it on close.- Reuse the session-scoped streamer from #42 (no new payment loop).
- End-to-end paid-WS test: preflight → paid upgrade through the single-shot proxy → metering over the connection lifetime → release on close.
Notes / dependencies
- Reuses the streamer and server metering from #42 — the only WS-specific additions are the preflight and the
ws_connecthelper. - Requires a go-livepeer preflight params affordance (a dedicated
…/challengeendpoint is preferred over an implicit "GET returns 402"). Track on go-livepeer alongside #3955. - Offchain single-shot WS already works (see the
ja/live-runnerping-pong example); this issue is the on-chain path.
Part of the Live Runner: Single-Shot Pipelines project.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung des sitzungsbezogenen Streamers und des Server-Meterings aus #42 und vergleiche anschließend den bestehenden offchain Single-Shot-WebSocket-Flow im ja/live-runner-Ping-Pong-Beispiel. Bestätige vor der Implementierung die in #3955 erfasste go-livepeer-Unterstützung für preflight params und den Upgrade-Pfad. Erledigt ist die Aufgabe, wenn der paid-WS-End-to-End-Test preflight, paid upgrade, Metering und die Freigabe beim Schließen abdeckt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, networking
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100