OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

LNP/BP Library

LNP/BP Library is a collection of Rust crates implementing selected LNP/BP specifications for Bitcoin and Lightning Network development. Its components provide Bech32 encoding for client-side-validated data, chain parameters for Bitcoin-related blockchains, and Secp256k1-based ElGamal encryption.

Independent OpenViST project profile, based on linked sources.

LNP/BP Library — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when developing Rust software for Bitcoin or Lightning that needs one or more of the repository’s specified encoding, chain-parameter or encryption components.

Who it is for

  • Rust developers building Bitcoin or Lightning Network protocols and applications.
  • Developers who need the documented LNPBP-14 encoding, Bitcoin-related chain parameters or LNPBP-31 ElGamal implementation.

Documented uses

  • Encode client-side-validated data with the LNPBP-14 Bech32 implementation.
  • Use supplied chain parameters in Bitcoin-related applications.
  • Apply the LNPBP-31 ElGamal implementation using Secp256k1.
  • Build Bitcoin and Lightning layer 2 or layer 3 software from library components.
Before you choose

Requirements & limits

The public repository identifies the project as MIT-licensed.

  • This is a library collection for software development, rather than a ready-made node or end-user application.
  • The repository documents Rust 1.59.0 as its minimum supported compiler version for the local build instructions.
  • The stated scope is Bitcoin and Bitcoin protocols; the README says altcoins and other blockchains are not supported or planned.
  • Other client-side-validation, Bitcoin, Lightning, RGB and invoicing libraries are listed as separate projects, not included in this crate.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Add LNP/BP crates to a Rust project

Declare the documented LNP/BP crates as Cargo dependencies.

Before you start

  • A Rust project using Cargo.

Steps

  1. Add the desired lnpbp crate entries to the [dependencies] section of Cargo.toml.

  2. Use the documented ~0.5.0 version requirement for each selected crate.

Expected outcome

The project manifest declares the selected LNP/BP crates as dependencies.

Guide limitations

  • This covers dependency declaration only; the README does not provide an implementation example or verify a consuming project build.
  • The documented dependency versions are ~0.5.0.
Source-based practical guide

Clone and build the library workspace

Compile the LNP/BP library workspace locally using the repository’s documented build command.

Before you start

  • Rust compiler version 1.59.0 or later.
  • Git and Cargo, as required by the documented clone and build commands.

Steps

  1. Clone https://github.com/lnp-bp/rust-lnpbp.

  2. Change into the rust-lnpbp directory.

  3. Run the command below.

    Documented command
    cargo build --release --all-features

Expected outcome

The README says the built library can be found in `target/release`.

Guide limitations

  • The instructions describe a build procedure, not a verified build result.
  • The README separately documents cargo test --workspace --all-features for running the full test suite; this guide does not cover test execution.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
LNP-BP/rust-lnpbp · Official homepage title · retained in its source language