Plugins for c-lightning
Community curated plugins for c-lightning.
Available plugins
Name | Short description |
---|---|
autopilot | An autopilot that suggests channels that should be established |
autoreload | A developer plugin that reloads a plugin under development when it changes |
donations | A simple donations page to accept donations from the web |
graphql | Exposes the c-lightning API over graphql |
lightning-qt | A bitcoin-qt-like GUI for lightningd |
monitor | helps you analyze the health of your peers and channels |
persistent-channels | Maintains a number of channels to peers |
probe | Regularly probes the network for stability |
prometheus | Lightning node exporter for the prometheus timeseries server |
rebalance | Keeps your channels balanced |
reckless | An experimental plugin manager (search/install plugins) |
sendinvoiceless | Sends some money without an invoice from the receiving node. |
sitzprobe | A Lightning Network payment rehearsal utility |
summary | Print a nice summary of the node status |
Installation
To install and activate a plugin you need to stop your lightningd and restart it
with the plugin
argument like this:
lightningd --plugin=/path/to/plugin/directory/plugin_file_name.py
Notes:
- The
plugin_file_name.py
must have executable permissions:chmod a+x plugin_file_name.py
- A plugin can be written in any programming language, as it interacts with
lightningd
purely using stdin/stdout pipes.
Automatic plugin initialization
Alternatively, especially when you use multiple plugins, you can copy or symlink
all plugin directories into your ~/.lightning/plugins
directory. The daemon
will load each executeable it finds in sub-directories as a plugin. In this case
you don't need to manage all the --plugin=...
parameters.
Pylightning
All python plugins depend on the pylightning
library. It can be given in
several ways:
- Using
pip
tools:pip3 install pylightning
- Using the
PYTHONPATH
environment variable to include your clightning's shippedpylightning
library:
PYTHONPATH=/path/to/lightnind/contrib/pylightning lightningd
Additional dependencies
Additionally, some Python plugins come with a requirements.txt
which can be
used to install the plugin's dependencies using the pip
tools:
pip3 install -r requirements.txt
Note: You might need to also specify the --user
command line flag depending on
your environment.
More Plugins from the Community
Plugin Builder Resources
- Description of the plugin API
- C Plugin API by @rustyrussell
- Python Plugin API & RPC Client (PyPI) by @cdecker and a video tutorial by @renepickhardt
- Go Plugin API & RPC Client by @niftynei
- C++ Plugin API & RPC Client by @darosior
- Javascript Plugin API & RPC Client by @darosior