Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 1.31 KB

README.md

File metadata and controls

45 lines (39 loc) · 1.31 KB

Network Implementation Scanning Plugin

This plugin estimates the numbers of certain lightning implementations active on the network. It relies on the feature_bits field of node announcements and applies simple heuristics to guess which implementation is in use. As features are continuously added or removed from implementations, these heuristics are apt to break and should be routinely updated to match current and past implementation details.

usage is as follows: To estimate the implementation breakdown of the whole network:

lightning-cli impscan

To decode a particular feature_bit field:

lightning-cli impscan features=<hex encoded features>

To list the features of a specific nodeid:

lightning-cli impscan node=<nodeid>

To test nodes against their intended implementation heuristic:

lightning-cli impscan test='{"<node_id>":"<heuristic name>"}'

i.e.,

$ lightning-cli impscan test='{"02df5ffe895c778e10f7742a6c5b8a0cefbe9465df58b92fadeb883752c8107c8f":"CLN"}'
[
   {
      "node_id": "02df5ffe895c778e10f7742a6c5b8a0cefbe9465df58b92fadeb883752c8107c8f",
      "features": "800000080a6aa2",
      "test heuristic": "CLN",
      "fingerprint": "CLN",
      "status": true
   }
]

Future work:

  • Add storage to document changes in network implementation usage over time.