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 impscanTo 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.