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
- Generation of Swift, Kotlin (JVM and Android), and Python bindings is now supported through UniFFI (#25).
3
+
- Lists of connected peers and channels may now be retrieved in bindings (#56).
4
+
- Gossip data may now be sourced from the P2P network, or a Rapid Gossip Sync server (#70).
5
+
- Network addresses are now stored and resolved via a `NetAddress` type (#85).
6
+
- The `next_event` method has been renamed `wait_next_event` and a new non-blocking method for event queue access has been introduces as `next_event` (#91).
7
+
- Node announcements are now regularly broadcasted (#93).
8
+
- Duplicate payments are now only avoided if we actually sent them out (#96).
9
+
- The `Node` may now be used to sign and verify arbitrary messages (#99).
10
+
- A `KVStore` interface is introduced that may be used to implement custom persistence backends (#101).
11
+
- An `SqliteStore` persistence backend is added and set as the new default (#100).
12
+
- Successful fee rate updates are now mandatory on `Node` startup (#102).
13
+
- The wallet sync intervals are now configurable (#102).
14
+
- Granularity of logging can now be configured (#108).
15
+
16
+
17
+
In total, this release includes changes in 64 commits from 4 authors:
18
+
- Steve Myers
19
+
- Elias Rohrer
20
+
- Jurvis Tan
21
+
- televis
2
22
23
+
**Note:** This release is still considered experimental, should not be run in
24
+
production, and no compatibility guarantees are given until the release of 0.1.
25
+
26
+
# 0.1-alpha - Apr 27, 2023
3
27
This is the first alpha release of LDK Node. It features support for sourcing
4
-
chain data via an Esplora server, filesystem persistence, gossip sourcing via
5
-
the Lightning peer-to-peer network, and configurble entropy sources for the
28
+
chain data via an Esplora server, file system persistence, gossip sourcing via
29
+
the Lightning peer-to-peer network, and configurable entropy sources for the
6
30
integrated LDK and BDK-based wallets.
7
31
8
-
Note that this release is still considered experimental, should not be run in
32
+
**Note:** This release is still considered experimental, should not be run in
9
33
production, and no compatibility guarantees are given until the release of 0.1.
A ready-to-go Lightning node library built using [LDK](https://lightningdevkit.org/) and [BDK](https://bitcoindevkit.org/).
3
2
4
-
LDK Node is a non-custodial Lightning node in library form. Its central goal is to provide a small, simple, and straightforward interface that enables users to easily set up and run a Lightning node with an integrated on-chain wallet. While minimalism is at its core, LDK Node aims to be sufficiently modular and configurable to be useful for a variety of use cases.
A ready-to-go Lightning node library built using [LDK][ldk] and [BDK][bdk].
7
+
8
+
LDK Node is a self-custodial Lightning node in library form. Its central goal is to provide a small, simple, and straightforward interface that enables users to easily set up and run a Lightning node with an integrated on-chain wallet. While minimalism is at its core, LDK Node aims to be sufficiently modular and configurable to be useful for a variety of use cases.
7
9
8
-
The primary abstraction of the library is the `Node`, which can be retrieved by setting up and configuring a `Builder` to your liking and calling `build()`. `Node` can then be controlled via commands such as `start`, `stop`, `connect_open_channel`, `send_payment`, etc.:
10
+
## Getting Started
11
+
The primary abstraction of the library is the [`Node`][api_docs_node], which can be retrieved by setting up and configuring a [`Builder`][api_docs_builder] to your liking and calling one of the `build` methods. `Node` can then be controlled via commands such as `start`, `stop`, `connect_open_channel`, `send_payment`, etc.
9
12
10
13
```rust
11
14
useldk_node::{Builder, NetAddress};
@@ -15,23 +18,27 @@ use ldk_node::bitcoin::Network;
LDK Node currently comes with a decidedly opionated set of design choices:
45
-
46
-
- On-chain data is handled by the integrated BDK wallet
47
-
- Chain data is accessed via Esplora (support for Electrum and `bitcoind` RPC will follow)
48
-
- Wallet and channel state is persisted to file system (support for SQLite will follow)
49
-
- Gossip data is sourced via Lightnings peer-to-peer network (support for [Rapid Gossip Sync](https://docs.rs/lightning-rapid-gossip-sync/*/lightning_rapid_gossip_sync/) will follow)
50
-
- Entropy for the Lightning and on-chain wallets may be generated and persisted for or provided by the user (as raw bytes or [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) mnemonic)
51
+
LDK Node currently comes with a decidedly opinionated set of design choices:
51
52
53
+
- On-chain data is handled by the integrated [BDK][bdk] wallet.
54
+
- Chain data may currently be sourced from an [Esplora][esplora] server, while support for Electrum and `bitcoind` RPC will follow soon.
55
+
- Wallet and channel state may be persisted to an [SQLite][sqlite] database, to file system, or to a custom back-end to be implemented by the user.
56
+
- 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.
57
+
- 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.
52
58
53
59
## Language Support
54
-
55
-
LDK Node is written in [Rust](https://www.rust-lang.org/) and may therefore be natively included in any `std` Rust program. Beyond its Rust API it also offers language bindings for Swift, Kotlin, and Python based on [UniFFI](https://github.com/mozilla/uniffi-rs/).
60
+
LDK Node itself is written in [Rust][rust] and may therefore be natively added as a library dependency to any `std` Rust program. However, beyond its Rust API it also offers language bindings for [Swift][swift], [Kotlin][kotlin], and [Python][python] based on the [UniFFI](https://github.com/mozilla/uniffi-rs/). Moreover, [Flutter bindings][flutter_bindings] are also available.
0 commit comments