lightninglabs / lightninglabs/faraday
Update to btcd v0.26 / v2 modules
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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