$ account lightninglabs
This repository is a production-grade Go library implementing a Bitcoin light client based on BIP 157/158 compact block filters (Neutrino). It is designed for mobile Lightning Network wallets and provides SPV (Simplified Payment Verification) without requiring a full node. The core architecture revolves around a ChainService that orchestrates peer connections, block header sync, filter header sync, UTXO queries, transaction broadcasting, and chain rescanning. The library stores headers in flat files with bbolt-backed indices, and filters in a boltdb database. It includes a sophisticated peer query management system with retry, timeout, and banning logic, as well as caching layers for blocks and filters. The codebase is well-structured into subpackages with clear responsibilities, many of which are reusable in other Go projects. It is actively maintained by Lightning Labs and used in production by lnd (Lightning Network Daemon).