Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

call_runner doesn't report the signer sessions it opens

Đang mở
#74 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
22/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
api

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Python
Star
1
Fork
8
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của livepeer/livepeer-python-gateway

Tất cả issue của livepeer/livepeer-python-gateway

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.