lightninglabs / lightninglabs/faraday

Update to btcd v0.26 / v2 modules

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

Nobody has claimed this yet.

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

Description

lnd is migrating to btcd v0.26 and the new split v2 modules:
`wire/v2`, `txscript/v2`, `chaincfg/v2`, `chainhash/v2`, `btcutil/v2`, `psbt/v2`, `address/v2`.

Faraday is directly affected and should be updated so it can consume newer lnd and btcsuite module versions without mixing old btcd package paths with the new v2 module types.

Current impact observed on `master`:
- `go.mod` still requires old btcd modules: `github.com/btcsuite/btcd/btcutil`, `github.com/btcsuite/btcd/chaincfg/chainhash`, and indirect `github.com/btcsuite/btcd/btcutil/psbt`.
- `go.mod` still pulls old lnd submodule versions indirectly, including `lnd/tlv v1.3.2` and `lnd/tor v1.1.6`.
- 30 tracked Go files contain old btcd import paths.
- 1 tracked Go file references moved `btcutil` address symbols.

Useful references:
- btcd migration script: btcsuite/btcd#2547
- lnd tlv/tor submodule update: lightningnetwork/lnd#10902
- lnd migration commit: lightningnetwork/lnd@8047149c6
- lnd tlv/tor pseudo-version source: lightningnetwork/lnd@a067468f0f45

Expected work:
- Run/adapt the btcd v2 migration script.
- Regenerate any generated RPC/API code if needed.
- Update direct dependencies to btcd v0.26 and split v2 modules.
- Update downstream Lightning Labs deps once compatible versions exist.
- Fix manual compile issues such as `address` package shadowing and changed APIs.
- Run module tidy/build/test checks.

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 with go.mod and the 30 tracked Go files containing old btcd import paths, then run or adapt the btcd v2 migration script. Check whether generated RPC/API code needs regeneration and resolve the listed address-shadowing and API changes. Done means compatible v2 dependencies, updated downstream Lightning Labs modules, and passing module tidy, build, and test checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.