DotNetLightning


API Reference

Available Namespaces:

Namespace Description
DotNetLightning.Channel "DotNetLightning.Channel" contains a functions/types for LN Channel management. It is still WIP.
DotNetLightning.ClnRpc "DotNetLightning.ClnRpc" contains a type-safe client for calling c-lightning rpc.
DotNetLightning.ClnRpc.NewtonsoftJsonConverters
DotNetLightning.ClnRpc.Plugin "DotNetLightning.ClnRpc.Plugin" contains a utility to build your own c-lightning plugins. All you have to do is 1. write a class which inherits from PluginServerBase. 2. instantiate and run StartAsync method. 3. Compile as a single binary and put it into c-lightning's plugin directory. there is also "PluginLogger" type which can be used for logging in plugin.
DotNetLightning.ClnRpc.SystemTextJsonConverters
DotNetLightning.Crypto "DotNetLightning.Crypto" contains a cryptographic utilities to work with LN. e.g. 1. Extension methods for key types to tweak/multiply e.g. NBitcoin.Key.Mul 2. Aezeed CipherSeed for managing node master key in seed phrase with its birthday encoded. (useful when rescanning the blockchain) This is a port of the aezeed in lnd. 3. Sphinx packet decoding/encoding described in bolt04 4. PerCommitmentSecretStore to hold "per_commitment_secret" in an efficient way.
DotNetLightning.Payment This namespace contains utilities for working with LN payment. e.g. 1. BOLT11 invoice (PaymentRequest) 2. LSAT authentication token
DotNetLightning.Payment.LSAT "DotNetLightning.Payment.LSAT" contains a utility to work with Lightning Service Authentication Token (LSAT). Which is a wrapper around Macaroons.
DotNetLightning.Peer "DotNetLighting.Peer" contains an facade for sphinx cryptography scheme. e.g. `PeerChannelEncryptor` to track/verify the state of initial 3 way handshake for noise protocol. This namespace is unmaintained. It was originally intended for building complete Lightning Node. see e.g. https://github.com/joemphilips/DotNetLightning/tree/f893a4a606341d01511d0c9f05ebb11de397f301/src/DotNetLightning.Infrastructure for the past effort.
DotNetLightning.Routing "DotNetLightning.Routing" contains a functions/types for calculating the route for payment. and to track the routing information. It is still WIP.
DotNetLightning.Serialization "DotNetLightning.Serialization" contains a low-level primitives for Working with P2P network data serialization. Such as general use TLV, lightning-rfc-defined message types, bit-level serializers, etc.
DotNetLightning.Serialization.Msgs This namespace contains a p2p messages for lightning network.
DotNetLightning.Transactions "DotNetLightning.Transactions" contains a types/functions to work with LN-specific transactions.
DotNetLightning.Utils "DotNetLightning.Utils" contains 1. a lightning-related primitive types. 2. very basic helper methods.
global