Migrate LND's channel state storage from bbolt (key/value) to native SQL, completing the transition already done for graph, payments, and invoices. This covers the full channel lifecycle: static metadata, current commitment state, forwarding packages, and the revocation log — the dominant storage consumer due to every payment attempt (including failures) advancing commitment height.
The general plan to accomplish this work is splitted into 3 phases
- interface extraction and Phase 1 SQL
- full SQL implementation (Phase 2 SQL)
- KV→SQL migration.
- Potentially Optimizing/Stress-testing
Tracking
Phase 1 — Interface extraction
| PR |
Description |
Status |
| #10777 |
chanstate: introduce Store interface |
Open |
| #10790 |
chanstate: migrate consumers to Store interface |
Open |
Migrate LND's channel state storage from bbolt (key/value) to native SQL, completing the transition already done for graph, payments, and invoices. This covers the full channel lifecycle: static metadata, current commitment state, forwarding packages, and the revocation log — the dominant storage consumer due to every payment attempt (including failures) advancing commitment height.
The general plan to accomplish this work is splitted into 3 phases
Tracking
Phase 1 — Interface extraction
chanstate: introduceStoreinterfacechanstate: migrate consumers toStoreinterface