Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Inconsistent status and recovery for loops with double payment

オープン
#582 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 7 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
go
領域
backend, payments

調査の方向性

まず、報告された2つのケースについて loop のリカバリ処理を調べます。すでに timeout トランザクションによってリカバリされた FAILED swap と、二重支払いをリカバリできなかった SUCCESS swap です。loop の再起動時および chantools recoverloopin 使用時の挙動を比較します。完了の条件は、必要な場合にのみ正確にリカバリが試行され、資金がリカバリされた後は再試行されないことです。

索引モデルが issue の本文から書いたものです。

説明

We did two swaps where we paid twice (one manually and one automatically done by loop itself). Both swaps actually went through successfully.

One of the swaps had trouble finishing to SUCCESS status, and eventually reached FAILED status (reason FAILURE_REASON_TEMPORARY). That swap has actually recovered the funds from the double pay through a timeout tx. Also, even though the swap is FAILED and already recovered the double pay, it's still trying to send more recovery transactions every time we restart loop.

The other swap has SUCCESS status but never tried recovering the funds. We eventually had to recover the funds with "chantools recoverloopin". That swap seems settled by loop since it's not trying to recover the double pay.

Let us know if you need more logs or other information from the servers.

PS: Also to avoid this issue, maybe when creating a loop it should say clearly when it's going to be paid by loop, and when it requires external funding, since we got confused by this :)

主要言語
Go
スター
593
フォーク
138
平均マージ
4日 9時間
マージ済み PR(30日)
14

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

lightninglabs/loop のほかの issue

lightninglabs/loop の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。