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

Unspendable TXO Finder

未关闭
#9,133 3 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@ddustin 已经在做这个了。

开始于 2026年5月13日。

评估

这个 Issue 还没有评估数据。

描述

The problem:

UTXOs can become unspendable TXOs. When they do, multiple systems in CLN remain in pending states that can confuse users.

This problem is particularly exasperated when users have lots of channels in many states as seen in #9102 and #9112

The solution:

A system that collects all inputs on SIGHASH_ALL tx's we care about (channel opens, splices, wallet activity) and monitors the chain for their inputs being spent. After some spending depth (100?) we move the corresponding tx state into a new NOT_POSSIBLE state. A state of this kind would need to exist for wallet UTXOs, channels, and inflights.

Then, when displaying user balances, we exclude the NOT_POSSIBLE items.

Importantly we should never delete these and if possible reorgs should move the items back into their old states.

  • Make system to track all inputs of wallet txs
    • When the txs confirm + some depth (100?), stop tracking them
  • Improve system to add channel open inflights
  • Improve system to add channel splice inflights
  • Add NOT_POSSIBLE state to wallet UTXOs
    • Hide NOT_POSSIBLE state UTXOs from user RPCs that show funds
    • Ignore NOT_POSSIBLE state UTXOs from all sources that acquire funds (utxopsbt, addpsbtinput, fundpsbt, etc)
  • Channel opens where the funding tx has become NOT_POSSIBLE
    • Force-close the channel
  • Channel splices where the inflight has become NOT_POSSIBLE
    • These must continue to be processed as per the spec, so channel stays in AWAITING_SPLICE
    • Show the inflight as NOT_POSSIBLE in the user RPC

Fixes #9102
Fixes #9112

See https://github.com/ksedgwic/clboss/issues/312 for an example

主要语言
C
星标
3.1k
派生
1k
平均合并
4 天 4 小时
30 天内合并 PR
27

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

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

ElementsProject/lightning 的其他 Issue

查看 ElementsProject/lightning 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

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