Lite client considerations for Lightning Implementations



Summary:

A project to create a modern replacement for bitcoinj that can be used for L2 applications like lightning is being revived. The project aims to implement traditional SPV, and then implement neutrino when development resumes on that in Bitcoin Core. If this takes too long, they will consider implementing neutrino against btcd. Different features must be implemented such as a Bitcoin wallet, monitoring channels, and validating channels. Electrum servers have a method for retrieving a tx from its coordinates but as the number of channels grows it may become impractical to watch every channel. Bloom Filters and client-side filters are required to download all blocks but not necessarily store them all. It is important that the lite wallet supports mobile platforms, particularly android. Java 7 is used, so plain Java or Kotlin should be considered instead of Scala where possible. The mailing list was asked to provide "things to consider" from a usability perspective for lightning devs. Adhering to the Bitcoin Core API when possible would make it easier to use bitcoin-s as a drop-in lite client replacement for Bitcoin Core.


Updated on: 2023-06-02T17:00:12.919402+00:00