NLightning.Bolt11.Blazor
5.0.0
dotnet add package NLightning.Bolt11.Blazor --version 5.0.0
NuGet\Install-Package NLightning.Bolt11.Blazor -Version 5.0.0
<PackageReference Include="NLightning.Bolt11.Blazor" Version="5.0.0" />
<PackageVersion Include="NLightning.Bolt11.Blazor" Version="5.0.0" />
<PackageReference Include="NLightning.Bolt11.Blazor" />
paket add NLightning.Bolt11.Blazor --version 5.0.0
#r "nuget: NLightning.Bolt11.Blazor, 5.0.0"
#:package NLightning.Bolt11.Blazor@5.0.0
#addin nuget:?package=NLightning.Bolt11.Blazor&version=5.0.0
#tool nuget:?package=NLightning.Bolt11.Blazor&version=5.0.0
NLightning.Bolt11
This library provides a decoder/encoder for the BOLT11 invoice format used in the Lightning Network. It can be used to decode and/or encode BOLT11 invoices.
Available Packages
We've decided to have 2 packages, one for desktop/server development, and one for Blazor WebAssembly development.
The reason behind this is that for a Blazor app running fully on the browser we don't have access to native libsodium.
Sample
A sample project using this project in a Blazor WebAssembly environment can be found here.
A live version of the sample can be found at bolt11.nlightn.ing
Usage
Follow the steps below to install and decode bolt11 invoices.
Installation
Install the package from NuGet:
# For the "standard" version of the package run
dotnet add package NLightning.Bolt11
# For the Blazor WebAssembly version run
dotnet add package NLightning.Bolt11.Blazor
Decoding
// add the using directive
using NLightning.Bolt11.Models;
// decode the invoice string
var invoice = Invoice.Decode(invoice_string);
// Get the properties from the invoice
Console.WriteLine("Here's a few props from the invoice:")
Console.WriteLine(invoice.Amount.MilliSatoshi);
Console.WriteLine(invoice.Amount.Satoshi);
Console.WriteLine(invoice.PaymentHash);
Console.WriteLine("A list with all the props can be found at: https://docs.nlightn.ing/api/NLightning.Bolts.BOLT11.Invoice.html#properties");
Decoding in Blazor Apps
Blazor apps need to initialize the CryptoProvider to load the necessary js files. Add the following to your
Program.cs file.
Initialize the CryptoProvider (libsodium.js)
// Add the using directive
using NLightning.Infrastructure.Crypto.Providers.JS;
// ...
// Your app code
// Initialize the Crypto Provider just before starting the server.
await BlazorCryptoProvider.InitializeBlazorCryptoProviderAsync();
await builder.Build().RunAsync();
Decode the invoice
@using NLightning.Bolt11.Models
<button @onclick="DecodeInvoice">Decode</button>
<br/>
@if (invoice != null)
{
<p>Payment Hash: @invoice.PaymentHash</p>
<p>Amount MilliSats: @invoice.Amount.MilliSatoshi</p>
<p>Amount Sats: @invoice.Amount.Satoshi</p>
<p>Amount BTC: @invoice.Amount</p>
<p>Description: @invoice.Description</p>
}
@code{
Invoice? invoice;
void DecodeInvoice()
{
invoice = Invoice.Decode("lnbc1pndpjfppp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsdqq5243a4h29w7lm6g89hktd0qzfakevjp7hktskal5p69jxa6vyqw4s95577lltw0t6l9dhp7cfld9urkxfsucsxascnxdqmanrlklsqcp5nwzmf");
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- NLightning.Infrastructure.Bitcoin (>= 1.0.0)
- NLightning.Infrastructure.Blazor (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 5.0.0 | 120 | 4/6/2026 | |
| 4.0.5 | 707 | 12/1/2025 | |
| 4.0.4 | 208 | 11/25/2025 | |
| 4.0.3 | 492 | 11/24/2025 | |
| 4.0.2 | 227 | 11/24/2025 | |
| 4.0.1 | 302 | 11/24/2025 | |
| 4.0.0 | 252 | 6/18/2025 | |
| 3.0.1 | 225 | 5/21/2025 | |
| 3.0.0 | 318 | 5/20/2025 | |
| 2.0.0 | 237 | 5/5/2025 | |
| 1.0.0 | 234 | 4/28/2025 | |
| 0.2.4 | 373 | 3/7/2025 | |
| 0.2.3 | 192 | 2/25/2025 | |
| 0.2.2 | 349 | 9/13/2024 | |
| 0.2.1 | 253 | 9/12/2024 | |
| 0.2.0 | 237 | 9/12/2024 |
Fixed BOLT 11 compliance: unknown fallback address versions are now skipped instead of throwing. See CHANGELOG.md for details.