Single-shot WebSocket support with on-chain payments
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- python
- 領域
- api, networking
調査の方向性
まず #42 のセッションスコープの streamer と server metering を確認し、次に ja/live-runner の ping-pong example にある既存の offchain single-shot WebSocket flow と比較します。実装前に、#3955 で追跡されている go-livepeer の preflight params affordance を確認します。完了条件は、paid-WS end-to-end test が preflight、paid upgrade、metering、close 時の release をカバーすることです。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 1
- フォーク
- 8
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
livepeer/livepeer-python-gateway のほかの issue
-
call_runner rejects a top-level JSON array, so a runner cannot pass one through対応中かも @rickstaa が 55 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
livepeer/livepeer-python-gateway#64 · コメント 1 件 ·
-
Align pricing terminology: pixels_per_unit -> pricing_unit_size (track go-livepeer #3942)再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンImprovement
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
livepeer/livepeer-python-gateway#27 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
trickle_publisher: `_resolve_next_seq` fallback drops first video segment + logs noisy warning再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
livepeer/livepeer-python-gateway#12 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
livepeer/livepeer-python-gateway#70 · コメント 2 件 ·
livepeer/livepeer-python-gateway の issue をすべて見る
似ている issue
-
SSM GetParameter throttling during concurrent workflow launches対応中かも @alexiswl が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
-
[Bug] Dev image build fails: `npm install` in the root Dockerfile runs out of memory (exit 134)対応中かも @andest01 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
pesu-dev/discord_bot#97 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
gradio-app/gradio#13964 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 93/100
BSData/horus-heresy-3rd-edition#3232 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信