lightninglabs / lightninglabs/faraday

Channel Resolution Reconstruction

Open
#25 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accounting
Dominant language
Go
Stars
130
Forks
35
Avg merge
7h 54m
Merged PRs (30d)
5

Description

The on chain transactions required to fully resolve a channel on chain will be persisted by lightningnetwork/lnd/4157. However, this data will only be present for channels that are closed after the node upgrades to a version of lnd running this change. This leaves many projects without tools to accurately account for previously closed channels.

Given a channel ID, examine the closing transaction (and subsequent transactions) on chain to determine the resolutions that occurred on chain. This will require a connection to a node with `--txindex` enabled.

- Optionally allow faraday to connect directly to a node ()
- Add ChannelResolutions endpoint which optimistically queries lnd
- If no resolutions are persisted, and Faraday is connected to a node, get resolutions from chain
- For first iteration, keep resolutions in memory; consider persisting further on

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by mapping Faraday’s existing channel-resolution lookup and API entry points; the issue names no files or tests. Review the lnd persisted-resolution behavior and the requirements for querying a node with --txindex, including closing and subsequent transactions. Done means a ChannelResolutions endpoint can fall back to reconstructed on-chain resolutions and keep first-iteration results in memory.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design, blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.