cln-plugins/persistent-channels
dependabot[bot] 2e28cc4c69 build(deps): bump cryptography in /persistent-channels
Bumps [cryptography](https://github.com/pyca/cryptography) from 48.0.1 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/48.0.1...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-06 12:06:51 +02:00
..
manifest.json persistent-channels: add reckless manifest 2026-07-24 15:18:49 +02:00
persistent-channels.py persistent-channels: update shebang versions 2026-05-12 22:00:29 +02:00
pyproject.toml build(deps-dev): bump the all-dependencies group across 2 directories with 1 update 2026-05-12 22:00:29 +02:00
README.md python plugins: add note for systemd and uv 2025-12-22 15:27:54 +01:00
test_persistent-channels.py pytest: Rename start tests to reflect the plugin under test 2019-12-27 17:17:58 +01:00
uv.lock build(deps): bump cryptography in /persistent-channels 2026-08-06 12:06:51 +02:00

Installation

You need uv to run this plugin like a binary. After uv is installed you can simply run

lightning-cli plugin start /path/to/persistent-channels.py

If you use systemd to start CLN, you must have uv in the PATH that systemd uses, which is likely different than the PATH from your shell. Most uv installation methods install uv into your user's home directory (~/.local/bin or ~/.cargo/bin), which systemd cannot access.

You can either:

Option 1: Install uv system-wide (recommended):

curl -LsSf https://astral.sh/uv/install.sh | sudo env UV_INSTALL_DIR="/usr/local/bin" sh

Option 2: Copy your existing user installation:

sudo cp "$(command -v uv)" /usr/local/bin/uv

Option 3: Configure your systemd service to use a custom PATH (see systemd documentation).

To verify uv is accessible to systemd:

sudo systemd-run --user --wait command -v uv

This should output /usr/local/bin/uv.

For general plugin installation instructions see the repos main README.md

Persistent Channels plugin

lightningd automatically tracks channels internally and will make sure to reconnect to a peer if it has a channel open with it. However, it only tracks the channel itself, it does not re-open a channel that was closed.

The persistent channels plugin allows you to describe a number of channels you'd like to have open at any time and the plugin will attempt to maintain that state. The plugin keeps a list of desired channels that should be opened and operational and will check every 30 seconds if it needs to open a new channel, or re-open a channel that is currently being closed.