forked from GaloyMoney/blink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
architecture.iuml
69 lines (55 loc) · 1.46 KB
/
architecture.iuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@startuml
!theme bluegray
skinparam componentStyle rectangle
'-----------components----------
rectangle "<size:20><&browser></size> Admin Frontend" as AF
rectangle "<size:20><&phone></size> Mobile App" as MA
rectangle "<size:20><&browser></size> Web Wallet" as WW
rectangle "<size:20><&laptop></size> Other App" as OA
package "Galoy Server"{
[Admin GQL API] as AA
[Client GQL API] as GA
[Ledger ❹] as LG
[Server Backend] as SB
}
together {
[Ride the Lightning] as RTL
component LND [
<b>LND
- Hot Wallet
- Lightning Node ]
}
component Specter[
<b>Specter
- Cold Storage
- Multisig Coordinator ]
component bitcoind[
**bitcoind** ]
cloud "lightning network" as lightning
cloud "Bitcoin network" as btcnet
'-----------connections----------
'Galoy Server Connections
AF -u-> AA
MA --> GA
WW --> GA
OA --> GA
'For better formatting
GA -[hidden]r- AA
SB - GA
LG <- SB : updates
LG ...> LND
LG ...> Specter
SB --> LND : <size:22>❶</size>\npayments\nrebalance
SB --> Specter : <size:22>❷</size> rebalance
LND -- lightning
RTL -r-> LND : manages
Specter --> bitcoind : depends on
LND --> bitcoind : <size:22>❸</size>\ndepends on
bitcoind -- btcnet
legend
<size:22>❶</size> Galoy gets payment information from LND. On-chain as well as Lightning.
<size:22>❷</size> Backend rebalances between LND and Specter.
<size:22>❸</size> LND connected to bitcoind RPC & zeromq.
<size:22>❹</size> Ledger keeps track of user wallets. Audits BTC hot & cold wallet.
endlegend
@enduml