What’s the difference between the LNP Node, LNP SDK and rust-lnpbp? #39
Unanswered
UkolovaOlga
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
TL;DR
Sequence is the following:
TS;WM
Rust-lnpbp is the name of the repository under the LNP/BP Standards Association Github organisation. It hosts a library, which we call the LNP/BP Core Library.
LNP/BP Core Library provides implementation of many different components, in short - everything that is not a part of BIPs and which is related to the L2/3 protocols. We have standards called LNPBP standards, that define these protocols. Among them there are Lightspeed, RGB, Storm, Prometheus etc. The standards are located in the lnpbps repository.
To add to that, rust-lnpbp repository contains the Core Library, which is very conservative, carefully audited and maintained. This library implements many paradigms, such as single use seals, deterministic bitcoin commitments up to implementations of actual LN protocol and functionality (business logic and core part of functionality). However, this library has nothing to do with construction of specific nodes or networking interfaces, it only has data structure, verification and validation processes and so on. But everything we have in that library needs to be assembled into a node or a product. This is where the LNP Node comes into play.
LNP node is the code that assembles the information from the LNP/BP Core Library into daemons, provides an RPC to them, performs thread management, configuration management, APIs etc. The node is implemented in Rust and atm when you try to use the node as a client or embed it into your software, you need tools to simplify this task. Of course, you can do it yourself, but we also have the LNP SDK which will provide tools for integration with the node, help to embed it into mobile wallets etc.
So the chain of things is the following:
Beta Was this translation helpful? Give feedback.
All reactions