This repository contains one solution which contains four main projects.
DotNetLightning.Core
to perform LN specific logic and low level primitives.DotNetLightning.Infrastructure
to support data persistency, altcoins, channel/peer management etc.DotNetLightning.Server
to run as a server.DotNetLightning.Client
to interact with the server.
Configuration will follow an usual semantics for ASP.NET Core web app. That is, it will read in following order.
- Read
appsettings.json
The project DotNetLightning.Core
is published to nuget as two different styles.
- By default, the solution is built with dependencies on Secp256k1.Net and NSec (which have native dependencies that need to be built for every platform, and we right now only provide Linux/MacOS binaries). This version is published as
DotNetLightning.Core
on Nuget. - For a more portable version (but possibly less performant) you can compile with BouncyCastle support, passing /p:BouncyCastle=True to your build. This version is published as
DotNetLightning
on Nuget.
Purple background indicates that the package is included in this repository. Important point here is that we should have the least external dependencies as possible to reduce number of possible attack vectors. (especially for DotNetLightning.Core)