@@ -64,6 +64,36 @@ in progress.
64
64
LNURL-auth.
65
65
VSS is also integrated with [ LDK-node] v0.4.x as alpha support.
66
66
67
+ ### Development
68
+
69
+ * ** Build & Deploy** : Refer to language specific folder for instructions related to build and deploy of VSS.
70
+ * ** Hosting** : VSS can either be self-hosted or deployed in the cloud. If a service provider is hosting VSS for multiple
71
+ users, it must be configured with ** HTTPS** , ** Authentication/Authorization** , and ** rate-limiting** .
72
+ * ** Authentication and Authorization** : Currently, the VSS-server
73
+ supports [ JWT] ( https://datatracker.ietf.org/doc/html/rfc7519 ) -based authentication and authorization, and can run
74
+ without authentication for local testing or in trusted setups. The VSS-rust-client supports LNURL-auth & JWT based
75
+ authentication and authorization. Switching to simple HTTP header authentication is straightforward by adding another
76
+ implementation. Note that the security of authentication heavily relies on using HTTPS for all requests.
77
+ * ** Scaling** : VSS itself is stateless and can be horizontally scaled easily. VSS can be configured to point to a
78
+ PostgreSQL cluster, and further scaling considerations need to be addressed in the PostgreSQL cluster.
79
+ * ** Using with LDK-node** : [ LDK-node] can be easily configured to run with VSS as primary storage. It is integrated in
80
+ LDK-node (written in Rust) using [ VSS-rust-client] , and there is also support for other languages such as Swift,
81
+ Kotlin and Python through [ UniFFI] bindings.
82
+ ``` rust
83
+ use ldk_node :: Builder ;
84
+ fn main () {
85
+ let mut node_builder = Builder :: new ();
86
+ ...
87
+ let node = node_builder . build_with_vss_store_and_fixed_headers (vss_endpoint , store_id , HashMap :: new ()). unwrap ();
88
+ node . start (). unwrap ();
89
+ ...
90
+ ...
91
+ }
92
+ ```
93
+ * * * Using with Other Applications ** : VSS is designed to store application - related metadata . Clients can use
94
+ the [VSS - rust- client] directly for this purpose. This can help provide a complete user data recovery solution for
95
+ applications, as well as enable turn- key multi- device support in the future.
96
+
67
97
### Summary
68
98
69
99
In summary, VSS is an open- source project that offers a server- side cloud storage solution for non- custodial Lightning
@@ -82,3 +112,7 @@ development of VSS, you can reach out to us in the [LDK Discord] in the `#vss` c
82
112
[LDK - node]: https: // github.com/lightningdevkit/ldk-node
83
113
84
114
[LDK - Roadmap ]: https: // lightningdevkit.org/blog/ldk-roadmap/#vss
115
+
116
+ [LDK Discord ]: https: // discord.gg/5AcknnMfBw
117
+
118
+ [UniFFI ]: https: // mozilla.github.io/uniffi-rs/
0 commit comments