Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kukks/dotnet-vss
VSS dotnet library
https://github.com/kukks/dotnet-vss
backup backup-solution bitcoin lightning vss
Last synced: about 6 hours ago
JSON representation
VSS dotnet library
- Host: GitHub
- URL: https://github.com/kukks/dotnet-vss
- Owner: Kukks
- License: mit
- Created: 2024-11-07T08:12:13.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-11-07T08:30:22.000Z (about 2 months ago)
- Last Synced: 2024-12-24T22:11:47.415Z (10 days ago)
- Topics: backup, backup-solution, bitcoin, lightning, vss
- Language: C#
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Versioned Storage System (VSS) for dotnet
Client-side library to interact with Versioned Storage Service (VSS).
VSS is an open-source project designed to offer a server-side cloud storage solution specifically tailored for noncustodial Lightning supporting mobile wallets. Its primary objective is to simplify the development process for Lightning wallets by providing a secure means to store and manage the essential state required for Lightning Network (LN) operations.
Learn more [here](https://github.com/lightningdevkit/vss-server/blob/main/README.md).
## Usage
```
dotnet add package VSS
```At its core, the interface IVSSAPI defines all the methods required for both server and client. The library then provides two concrete implementations of the IVSSAPI interface:
* HttpVSSAPIClient - a client that communicates with the VSS server over HTTP. Any authentication mechanism can be hooked up to the provided HttpClient.
* VSSApiEncryptorClient - a client that allows encrypting the data before sending/receiving it from the VSS server. This does not handle actual communication, but rather wraps around another IVSSAPI implementation.## Proto Models
The current included vss.proto file is from [here](https://github.com/lightningdevkit/vss-server/blob/main/proto/vss.proto). There is one modification to the original file, which is the addition of
```proto
option csharp_namespace = "VSSProto";
```which allows us to automatically generate the C# models from the proto file.
## Gotchas!
On Mac, there is an issue around the source generator for protobuf to c# code. While I expect this to be fixed at some point from the library vendor, we can't wait on this. There is a folder `MacHax` which contains the generates library but is only included when compiling on a Mac. This is a temporary solution until the issue is resolved but may result in missing/different definitions when on mac (regenerate the machax folder when this is the case).