- Notifications
You must be signed in to change notification settings - Fork31
Library implementing LNPBP standards related to client-side-validation paradigm
License
LNP-BP/rust-lnpbp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The repository represents a set of libraries implementing LNP/BP specificationshttps://github.com/LNP-BP/LNPBPs not fitting into a scope of other existingLNP/BP core libraries (client-side-validation, BP, LNP, RGB, invoicing). It canbe used to simplify development of layer 2 & 3 solutions on top of LightningNetwork and Bitcoin blockchain.
Currently, the repository contains the following crates:
lnpbp_bech32
: library implementing LNPBP-14 standard of Bech32 encoding forclient-side-validated data.lnpbp_chain
: library providing chain parameters for bitcoin-relatedblockchains;lnpbp_elgamal
: library implementing LNPBP-31 standard for ElGamal encryptionusing Secp256k1 curve;- LNPBP umbrella crate containing all aforementioned libraries.
Other libraries, implementing LNP/BP specifications, not included in this crate:
- Client-side-validation foundation libraries(
client_side_validation
) - Bitcoin protocol core library(
bp-core
) - Lightning network protocol core library(
lnp-core
) - RGB core library implementing confidential & scalable smart contracts forBitcoin & Lightning (
rgb-core
) - Universal invoicing library
The current list of the projects based on these libraries include:
- RGB Node
- LNP Node enabling:
- RGB extensions
- DLC extensions
- Lightspeed payments
- Multi-peer channels
- Faster lightning experiments (quicker adoption of eltoo, Taproot etc)
- BP Node: Indexing service for bitcoinblockchain; more efficient & universal Electrum server replacement. Inperspective - validating Bitcoin network node (using libbitcoinconsus)
Potentially, with LNP/BP libraries you can simplify the development of
- Discreet log contracts
- Implement experimental lightning features
- Do complex multi-threaded or elastic/dockerized client-service microservicearchitectures
The development of the libraries is supported by LNP/BP Standards Association.
Minimum supported rust compiler version (MSRV): 1.59.0.
git clone https://github.com/lnp-bp/rust-lnpbpcd rust-lnpbpcargo build --release --all-features
The library can be found intarget/release
directory.
You can run full test suite with:
cargotest --workspace --all-features
Please refer to thecargo
documentationfor more detailed instructions.
Add these lines to yourCargo.toml
file at the very end of the[dependecies]
section:
lnpbp ="~0.5.0"lnpbp_bech32 ="~0.5.0"lnpbp_chain ="~0.5.0"lnpbp_elgamal ="~0.5.0"
Contribution guidelines can be found in a separateCONTRIBUTING file
Altcoins and "blockchains" other than Bitcoin blockchain/Bitcoin protocols arenot supported and not planned to be supported; pull requests targeting them willbe declined.
SeeLICENCE file.
About
Library implementing LNPBP standards related to client-side-validation paradigm