Skip to content

Commit a36acd4

Browse files
doc: Add instructions to run CLN node with remote_hsmd_socket
1 parent bbc9a90 commit a36acd4

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

doc/contribute-to-core-lightning/docker-images.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,96 @@ docker exec -it <container-id-from-step2> bash
131131
docker run -it --rm --platform=linux/amd64 --network=host -v '/root/.lightning:/root/.lightning' -v '/root/.bitcoin:/root/.bitcoin' -e LIGHTNINGD_DATA=/root/.lightning elementsproject/lightningd:latest --network=regtest
132132

133133
```
134+
135+
## Replace the `hsmd` subdaemon with VLS `remote_hsmd_socket`:
136+
137+
1. This setup assumes that both `bitcoind` and `vlsd` will be running on your host system.
138+
139+
2. Start your `bitcoind` node on the local machine.
140+
141+
3. Start `vlsd` locally with your prefered configuration. For example:
142+
143+
```shell
144+
export LIGHTNING_VLS_DIR=/root/.lightning
145+
export GREENLIGHT_VERSION="v25.12"
146+
export VLS_CLN_VERSION="v25.12"
147+
export VLS_NETWORK="regtest"
148+
export BITCOIND_RPC_URL="http://user:password@127.0.0.1:18443"
149+
export RUST_LOG=info
150+
export RUST_BACKTRACE=1
151+
152+
/home/validating-lightning-signer/target/release/vlsd \
153+
--datadir "$LIGHTNING_VLS_DIR"/.lightning-signer \
154+
--network regtest \
155+
--connect http://127.0.0.1:7701 \
156+
--rpc-server-address 127.0.0.1 \
157+
--rpc-server-port 8000 \
158+
--rpc-user vlsuser \
159+
--rpc-pass vlspassword \
160+
--log-level info
161+
```
162+
163+
4. Finally, run the Core Lightning node:
164+
165+
4.1 Either by utilizing our docker image flavor `elementsproject/lightningd-vls-signer` which comes with pre-built `remote_hsmd_socket` binaries.
166+
167+
```shell
168+
docker run -it --rm -d \
169+
--platform=linux/amd64 \
170+
--network=host \
171+
-v '/root/.lightning:/root/.lightning' \
172+
-v '/root/.bitcoin:/root/.bitcoin' \
173+
-e GREENLIGHT_VERSION="v25.12" \
174+
-e VLS_CLN_VERSION="v25.12" \
175+
-e VLS_NETWORK="regtest" \
176+
-e BITCOIND_RPC_URL="http://user:password@127.0.0.1:18443" \
177+
-e LIGHTNINGD_NETWORK=regtest \
178+
elementsproject/lightningd-vls-signer:v25.12 \
179+
--bitcoin-rpcconnect=0.0.0.0 \
180+
--bitcoin-rpcuser=user \
181+
--bitcoin-rpcpassword=password \
182+
--network=regtest \
183+
--database-upgrade=true \
184+
--bitcoin-datadir=/root/.bitcoin \
185+
--log-level=debug \
186+
--announce-addr=127.0.0.1:19750 \
187+
--bind-addr=localhost:8989 \
188+
--bind-addr=ws:127.0.0.1:5020 \
189+
--bind-addr=0.0.0.0:19750 \
190+
--bitcoin-rpcport=18443 \
191+
--clnrest-port=3020 \
192+
--grpc-port=9740 \
193+
--subdaemon=hsmd:/var/lib/vls/bin/remote_hsmd_socket
194+
```
195+
196+
4.2 Or, by replacing subdaemon `hsmd` with your mounted `remote_hsmd_socket`:
197+
198+
```shell
199+
docker run -it --rm -d \
200+
--platform=linux/amd64 \
201+
--network=host \
202+
-v '/root/.lightning:/root/.lightning' \
203+
-v '/root/.bitcoin:/root/.bitcoin' \
204+
-v '/root/vls/target/release/remote_hsmd_socket:/var/lib/vls/bin/remote_hsmd_socket'
205+
-e GREENLIGHT_VERSION="v25.12" \
206+
-e VLS_CLN_VERSION="v25.12" \
207+
-e VLS_NETWORK="regtest" \
208+
-e BITCOIND_RPC_URL="http://user:password@127.0.0.1:18443" \
209+
-e LIGHTNINGD_NETWORK=regtest \
210+
elementsproject/lightningd:v25.12 \
211+
--bitcoin-rpcconnect=0.0.0.0 \
212+
--bitcoin-rpcuser=user \
213+
--bitcoin-rpcpassword=password \
214+
--network=regtest \
215+
--database-upgrade=true \
216+
--bitcoin-datadir=/root/.bitcoin \
217+
--log-level=debug \
218+
--announce-addr=127.0.0.1:19750 \
219+
--bind-addr=localhost:8989 \
220+
--bind-addr=ws:127.0.0.1:5020 \
221+
--bind-addr=0.0.0.0:19750 \
222+
--bitcoin-rpcport=18443 \
223+
--clnrest-port=3020 \
224+
--grpc-port=9740 \
225+
--subdaemon=hsmd:/var/lib/vls/bin/remote_hsmd_socket
226+
```

0 commit comments

Comments
 (0)