From 9a799ea314e76388da202e3c72538b83607e73a9 Mon Sep 17 00:00:00 2001
From: saubyk <39208279+saubyk@users.noreply.github.com>
Date: Sat, 18 Jul 2026 00:26:15 -0700
Subject: [PATCH] Add a topology diagram to the docker fixture README
Mermaid flowchart (rendered by GitHub) showing the channel graph, each
node's chain-backend link -- including eclair's dedicated wallet and
hashblock ZMQ endpoint -- and the protocol RTL uses to reach each node.
---
docker/README.md | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/docker/README.md b/docker/README.md
index d0e6cf9e..b0de051d 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -11,6 +11,44 @@ cln --[ 4,000,000 sat ]--> alice
eclair --[ 3,500,000 sat ]--> bob
```
+## Topology
+
+```mermaid
+flowchart TB
+ subgraph chain["Chain backend"]
+ bitcoind["bitcoind (regtest)
RPC · ZMQ rawblock/rawtx · ZMQ hashblock"]
+ end
+
+ subgraph ln["Lightning nodes"]
+ alice["alice (LND)"]
+ bob["bob (LND)
forwards payments"]
+ carol["carol (LND)"]
+ cln["cln (Core Lightning)"]
+ eclair["eclair (Eclair)"]
+ end
+
+ alice =="5M sat"==> bob
+ bob =="3M sat"==> carol
+ cln =="4M sat"==> alice
+ eclair =="3.5M sat"==> bob
+
+ alice -.-> bitcoind
+ bob -.-> bitcoind
+ carol -.-> bitcoind
+ cln -.-> bitcoind
+ eclair -.->|"dedicated 'eclair' wallet
+ hashblock ZMQ"| bitcoind
+
+ rtl["RTL
localhost:3000"]
+ rtl -->|"REST + macaroon"| alice
+ rtl -->|"REST + macaroon"| bob
+ rtl -->|"REST + macaroon"| carol
+ rtl -->|"clnrest + rune"| cln
+ rtl -->|"HTTP API + basic auth"| eclair
+```
+
+Thick arrows are channels (opener → peer), dotted arrows the chain backend each node
+uses, and solid arrows how RTL reaches each node.
+
bob sits in the middle so it accrues forwarding history, which is what gives RTL's
routing screens something to show. Two nodes would leave them empty. The `cln`
(Core Lightning) node gives RTL's CLN screens a real backend — it talks to RTL over