You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+56-1Lines changed: 56 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,10 +64,65 @@ LDK Node currently comes with a decidedly opinionated set of design choices:
64
64
65
65
- On-chain data is handled by the integrated [BDK][bdk] wallet.
66
66
- Chain data may currently be sourced from the Bitcoin Core RPC interface, or from an [Electrum][electrum] or [Esplora][esplora] server.
67
-
- Wallet and channel state may be persisted to an [SQLite][sqlite] or [PostgreSQL][postgresql] database, to file system, or to a custom back-end to be implemented by the user.
67
+
- Wallet and channel state may be persisted to an [SQLite][sqlite] or [PostgreSQL][postgresql] database, to the filesystem, to a VSS server, or to a custom back-end to be implemented by the user.
68
68
- Gossip data may be sourced via Lightning's peer-to-peer network or the [Rapid Gossip Sync](https://docs.rs/lightning-rapid-gossip-sync/*/lightning_rapid_gossip_sync/) protocol.
69
69
- Entropy for the Lightning and on-chain wallets may be sourced from raw bytes or a [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) mnemonic. In addition, LDK Node offers the means to generate and persist the entropy bytes to disk.
70
70
71
+
### Cargo Features
72
+
73
+
LDK Node's optional dependencies are grouped by the functionality they provide:
74
+
75
+
| Feature | Functionality |
76
+
| --- | --- |
77
+
|`chain-esplora`| Esplora chain source |
78
+
|`chain-electrum`| Electrum chain source |
79
+
|`chain-bitcoind`| Bitcoin Core RPC and REST chain source |
80
+
|`storage-sqlite`| SQLite storage |
81
+
|`storage-filesystem`| Filesystem storage |
82
+
|`storage-vss`| Versioned Storage Service storage |
83
+
|`storage-postgres`| PostgreSQL storage |
84
+
|`storage-postgres-vendored-tls`| PostgreSQL storage with vendored OpenSSL |
85
+
|`unified-payments`| BIP 21 and human-readable-name payment support |
86
+
|`uniffi`| UniFFI language bindings |
87
+
|`uniffi-default`| The standard language-binding feature set |
88
+
89
+
The `default` feature set preserves the native Rust API's previous behavior. It enables all three
90
+
chain sources, SQLite, filesystem and VSS storage, and unified payments. PostgreSQL and UniFFI
91
+
remain opt-in. Every build must enable at least one chain source feature.
92
+
93
+
On Linux, `storage-postgres` uses the system OpenSSL installation and requires the OpenSSL
94
+
development headers and `pkg-config`. Enable `storage-postgres-vendored-tls` instead to build
95
+
OpenSSL from source. Vendored builds require a C compiler, `make`, and Perl.
96
+
97
+
Disable the default features to select only the functionality and dependencies an application
LDK Node does not provide a stable public API until v1.0. Persisted node state is backwards compatible: newer releases are guaranteed to load state written by older releases. Downgrades are not supported, so state written by a newer release may not load with an older release.
0 commit comments