lightninglabs / lightninglabs/loop

Update to btcd v0.26 / v2 modules

Open
#1,159 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
595
Forks
135
Avg merge
1d 8h
Merged PRs (30d)
12

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.

Loop 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/btcutil/psbt, github.com/btcsuite/btcd/chaincfg/chainhash.
  • go.mod still uses old lnd submodule versions such as lnd/tlv v1.3.2 and lnd/tor v1.1.6.
  • 156 tracked Go files contain old btcd import paths.
  • 49 tracked Go files reference 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 listed btcd and lnd migration references, then run or adapt the btcd v2 migration script across the tracked Go files. Check generated RPC/API code if affected and resolve the reported import and API issues. Done means direct dependencies and downstream Lightning Labs dependencies are compatible, with module tidy, build, and test checks passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.