Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

call_runner doesn't report the signer sessions it opens

未关闭
#74 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
22/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
api

调研方向

Start from call_runner and the LivePaymentSession class, where the signer sessions are opened and where auth_id would be read. The change is already in progress as eliteprox/livepeer-python-gateway#5 and needs re-submission against main, so check with maintainers before writing code. Read RunnerSelectionCursor too, since failover after a signed payment is a known limit tracked in #70. Done means the on_payment_session callback fires before each paid request, auth_id is returned from the State and state keys, and callers who omit the callback see no change.

由索引模型根据 Issue 内容生成。

描述

A caller of call_runner can't tell which signer sessions a call opened. That matters because the remote signer charges when it signs a payment, not when the runner delivers. A gateway that bills its users, or reconciles against Clearinghouse Batteries, has to link each charge to a call, including calls that failed after the payment was signed. The signer records each charge under the session's AuthID, but call_runner keeps its sessions private.

Proposed change

eliteprox/livepeer-python-gateway#5 adds two things:

  • call_runner(..., on_payment_session=callback) calls callback(session) for each session the signer signs, before the paid request is sent.
  • LivePaymentSession.auth_id returns that session's AuthID. It reads go-livepeer's State key and livepeer/node's state key.

Callers that don't pass the callback see no change. The PR adds 17 tests, covering repeated 402s, a runner failure after payment, a refused session and a cancelled call.

It replaces #71, which was closed so the change could target the fork's releases/m2. That branch matches main, and GitHub reports no conflicts. Could it come back here as a PR against main?

Known limit

RunnerSelectionCursor still fails over after a signed payment, so one job can pay twice. #70 tracks that.

Why we need it

The Network Engineering SPE build track matches each job attempt to Batteries usage by auth_id. Until this is released, the build track pins the fork.

主要语言
Python
星标
1
派生
8
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

livepeer/livepeer-python-gateway 的其他 Issue

查看 livepeer/livepeer-python-gateway 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。