From cf4e60e7a1591541a3aaa633cb4f70016ce3c372 Mon Sep 17 00:00:00 2001 From: Aljaz Ceru Date: Tue, 22 Aug 2023 17:09:08 +0200 Subject: [PATCH] update lspd_plugin config docs --- docs/CLN.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/CLN.md b/docs/CLN.md index 3588042..81de194 100644 --- a/docs/CLN.md +++ b/docs/CLN.md @@ -50,26 +50,29 @@ ENV variables: - `MEMPOOL_API_BASE_URL` uses fee estimation for opening new channels (default: https://mempool.space/api/v1/) - `MEMPOOL_PRIORITY` priority with which open new channels using mempool api (options: minimum, economy, hour, halfhour, fastest) (default: economy) +- `NODES` which nodes are used by lspd (see below for example, multiple nodes supported and more examples can be found in [sample.env](../sample.env)) - +Example of NODES variable: +``` +NODES='[ { "name": "${LSPName}", "nodePubkey": "$PUBKEY", "lspdPrivateKey": "$LSPD_PRIVATE_KEY", "token": "$TOKEN", "host": "$EXTERNAL_IP:8888", "publicChannelAmount": "1000183", "channelAmount": "100000", "channelPrivate": false, "targetConf": "6", "minConfs": "6", "minHtlcMsat": "600", "baseFeeMsat": "1000", "feeRate": "0.000001", "timeLockDelta": "144", "channelFeePermyriad": "40", "channelMinimumFeeMsat": "2000000", "additionalChannelCapacity": "100000", "maxInactiveDuration": "3888000", "cln": { "pluginAddress": "127.0.0.1:12312", "socketPath": "/home/lightning/.lightning/bitcoin/lightning-rpc" } } ]' +``` ### Running lspd on CLN In order to run lspd on top of CLN, you need to run the lspd process and run cln with the provided cln plugin. You also need lightningd compiled with developer mode on (`./configure --enable-developer`) -The cln plugin (go build -o lspd_plugin cln_plugin/cmd) is best started with a bash script to pass environment variables (note this LISTEN_ADDRESS is the listen address for communication between lspd and the plugin, this is not the listen address mentioned in the 'final step') - -```bash -#!/bin/bash - -export LISTEN_ADDRESS= -/path/to/lspd_plugin -``` - 1. Run cln with the following options set: - - `--plugin=/path/to/shell/script.sh`: to use lspd as plugin + - `--plugin=/path/to/lspd_plugin`: to use lspd as plugin - `--max-concurrent-htlcs=30`: In order to use zero reserve channels on the client side, (local max_accepted_htlcs + remote max_accepted_htlcs + 2) * dust limit must be lower than the channel capacity. Reduce max-concurrent-htlcs or increase channel capacity accordingly. - `--dev-allowdustreserve=true`: In order to allow zero reserve on the client side (requires developer mode turned on) + - `--lsp-listen=127.0.0.1:`: Set on which port the lspd_plugin will listen for lspd communication, must be the same port that is used in pluginAddress parameter in NODES env variable. 1. Run lspd ### Final step 1. Share with Breez the TOKEN and the LISTEN_ADDRESS you've defined (send to contact@breez.technology) + + + plugin=/home/lightning/.lightning/plugins/lspd_plugin + lsp-listen=127.0.0.1:12312 + max-concurrent-htlcs=30 + dev-allowdustreserve=true + allow-deprecated-apis=true \ No newline at end of file