Skip to content

Commit a8bbd1b

Browse files
author
Conor Okus
authored
Adds new architecture diagram and update copy (#152)
* Adds new architecture diagram and updates copy
1 parent 70810ba commit a8bbd1b

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

docs/.vuepress/config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const docsSidebar = [
2525
title: 'Overview',
2626
collapsable: true,
2727
children: [
28-
['/overview/architecture', 'LDK Architecture'],
28+
['/overview/architecture', 'Architecture'],
2929
['/overview/persistent_storage', 'Persistent Storage'],
3030
['/overview/blockchain_data', 'Blockchain Data'],
3131
['/overview/wallet_management', 'Wallet Management'],
@@ -184,7 +184,7 @@ module.exports = {
184184
link: '/running-a-sample-ldk-node/'
185185
},
186186
{
187-
text: 'LDK Architecture',
187+
text: 'Architecture',
188188
link: '/overview/architecture/'
189189
},
190190
{

docs/assets/ldk-architecture.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/introduction/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ provide a useful overview of Rust Lightning in the context of language bindings.
2929
The sample serves as a complete reference for constructing a Lightning node with
3030
the LDK. This is a good starting point if you want a self-guided tour!
3131

32-
### [LDK Architecture](../overview/architecture)
32+
### [Architecture](../overview/architecture)
3333

3434
Gives a high-level organization of LDK and how the pieces fit together. Variations of this diagram
3535
are used throughout the site. This is the primary source and is still a work in progress.

docs/overview/architecture.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
## LDK Architecture
2-
![LDK Architecture](../assets/ldk-architecture.svg)
1+
# Architecture
2+
![Architecture](../assets/ldk-architecture.svg)
33

4-
LDK's core components are shown in the center box labeled `lightning`. The boxes
5-
with dotted borders are LDK's modules — these must be configured with either
6-
off-the-shelf or custom implementations that you provide.
4+
Firstly, LDK is not a daemon, but rather its own implementation of the Lightning protocol written as an SDK and designed to be compiled and executed in your application.
75

8-
`EventHandler` in the diagram is not so much a necessary LDK module, but instead
9-
refers to the fact that LDK generates events that the user should handle (e.g.
10-
the `PaymentReceived` event).
6+
This makes it environment agnostic, allowing you to choose your own data storage, wallet, networking stack and blockchain monitoring. In the diagram above the boxes with dotted borders are LDK's modules — these must be configured with either default or custom implementations that you provide.
7+
8+
LDK also uses an event-driven architecture which allows for asynchronous result notification. For example you perform actions like making payments without waiting for the result and are later made aware via an event if the payment was successful or not.
9+
10+
::: tip Langauge Bindings
11+
12+
Although the core SDK is written in Rust, LDK supports many other programming languages. These include Java/Kotlin, Swift, JavaScript/TypeScript (Beta), C++ (Alpha). Check out [examples](../examples.md) to see some of the implementations out in the wild!

0 commit comments

Comments
 (0)