Skip to content

Commit

Permalink
Fix link to API docs
Browse files Browse the repository at this point in the history
  • Loading branch information
gijswijs authored Aug 9, 2023
1 parent ce078bb commit fe6a02c
Showing 1 changed file with 73 additions and 70 deletions.
143 changes: 73 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,48 +6,48 @@ Community curated plugins for Core-Lightning.

## Available plugins

| Name | Short description |
| ------------------------------------ | ------------------------------------------------------------------------------------------- |
| [autopilot][autopilot] | An autopilot that suggests channels that should be established |
| [backup][backup] | A simple and reliable backup plugin |
| [boltz-channel-creation][boltz] | A Core-Lightning plugin for Boltz Channel Creation Swaps |
| [btcli4j][btcli4j] | A Bitcoin Backend to enable safely the pruning mode, and support also rest APIs. |
| [circular][circular] | A smart rebalancing plugin for Core Lightning routing nodes |
| [csvexportpays][csvexportpays] | A plugin that exports all payments to a CSV file |
| [currencyrate][currencyrate] | A plugin to convert other currencies to BTC using web requests |
| [clearnet][clearnet] | A plugin that can be used to enforce clearnet connections when possible |
| [cln-ntfy][cln-ntfy] | Core Lightning plugin for sending `ntfy` alerts. |
| [donations][donations] | A simple donations page to accept donations from the web |
| [drain][drain] | Draining, filling and balancing channels with automatic chunks. |
| [event-websocket][event-websocket] | Exposes notifications over a Websocket |
| [feeadjuster][feeadjuster] | Dynamic fees to keep your channels more balanced |
| [go-lnmetrics.reporter][reporter] | Collect and report of the lightning node metrics |
| [graphql][graphql] | Exposes the Core-Lightning API over [graphql][graphql-spec] |
| [invoice-queue][invoice-queue] | Listen to lightning invoices from multiple nodes and send to a redis queue for processing |
| [lightning-qt][lightning-qt] | A bitcoin-qt-like GUI for lightningd |
| [listmempoolfunds][listmempoolfunds] | Track unconfirmed wallet deposits |
| [monitor][monitor] | helps you analyze the health of your peers and channels |
| [noise][noise] | Chat with your fellow node operators |
| [nostrify][nostrify] | Send CLN events to Nostr |
| [paythrough][paythrough] | Pay an invoice through a specific channel, regardless of better routes |
| [persistent-channels][pers-chans] | Maintains a number of channels to peers |
| [poncho][poncho] | Turns CLN into a [hosted channels][blip12] provider |
| [probe][probe] | Regularly probes the network for stability |
| [prometheus][prometheus] | Lightning node exporter for the prometheus timeseries server |
| [pruning][pruning] | This plugin manages pruning of bitcoind such that it can always sync |
| [python-teos][python-teos] | The Eye of Satoshi - Lightning Watchtower |
| [rebalance][rebalance] | Keeps your channels balanced |
| [reckless][reckless] | An **experimental** plugin manager (search/install plugins) |
| [requestinvoice][request-invoice] | Http server to request invoices |
| [sauron][sauron] | A Bitcoin backend relying on [Esplora][esplora]'s API |
| [sitzprobe][sitzprobe] | A Lightning Network payment rehearsal utility |
| [sparko][sparko] | RPC over HTTP with fine-grained permissions, SSE and spark-wallet support |
| [summary][summary] | Print a nice summary of the node status |
| [trustedcoin][trustedcoin] | Replace your Bitcoin Core with data from public block explorers |
| [webhook][webhook] | Dispatches webhooks based from [event notifications][event-notifications] |
| [watchtower][watchtower-client] | Watchtower client for The Eye of Satoshi |
| [zmq][zmq] | Publishes notifications via [ZeroMQ][zmq-home] to configured endpoints |
| [nloop][nloop] | Generic Lightning Loop for boltz |
| Name | Short description |
| ------------------------------------ | ----------------------------------------------------------------------------------------- |
| [autopilot][autopilot] | An autopilot that suggests channels that should be established |
| [backup][backup] | A simple and reliable backup plugin |
| [boltz-channel-creation][boltz] | A Core-Lightning plugin for Boltz Channel Creation Swaps |
| [btcli4j][btcli4j] | A Bitcoin Backend to enable safely the pruning mode, and support also rest APIs. |
| [circular][circular] | A smart rebalancing plugin for Core Lightning routing nodes |
| [csvexportpays][csvexportpays] | A plugin that exports all payments to a CSV file |
| [currencyrate][currencyrate] | A plugin to convert other currencies to BTC using web requests |
| [clearnet][clearnet] | A plugin that can be used to enforce clearnet connections when possible |
| [cln-ntfy][cln-ntfy] | Core Lightning plugin for sending `ntfy` alerts. |
| [donations][donations] | A simple donations page to accept donations from the web |
| [drain][drain] | Draining, filling and balancing channels with automatic chunks. |
| [event-websocket][event-websocket] | Exposes notifications over a Websocket |
| [feeadjuster][feeadjuster] | Dynamic fees to keep your channels more balanced |
| [go-lnmetrics.reporter][reporter] | Collect and report of the lightning node metrics |
| [graphql][graphql] | Exposes the Core-Lightning API over [graphql][graphql-spec] |
| [invoice-queue][invoice-queue] | Listen to lightning invoices from multiple nodes and send to a redis queue for processing |
| [lightning-qt][lightning-qt] | A bitcoin-qt-like GUI for lightningd |
| [listmempoolfunds][listmempoolfunds] | Track unconfirmed wallet deposits |
| [monitor][monitor] | helps you analyze the health of your peers and channels |
| [noise][noise] | Chat with your fellow node operators |
| [nostrify][nostrify] | Send CLN events to Nostr |
| [paythrough][paythrough] | Pay an invoice through a specific channel, regardless of better routes |
| [persistent-channels][pers-chans] | Maintains a number of channels to peers |
| [poncho][poncho] | Turns CLN into a [hosted channels][blip12] provider |
| [probe][probe] | Regularly probes the network for stability |
| [prometheus][prometheus] | Lightning node exporter for the prometheus timeseries server |
| [pruning][pruning] | This plugin manages pruning of bitcoind such that it can always sync |
| [python-teos][python-teos] | The Eye of Satoshi - Lightning Watchtower |
| [rebalance][rebalance] | Keeps your channels balanced |
| [reckless][reckless] | An **experimental** plugin manager (search/install plugins) |
| [requestinvoice][request-invoice] | Http server to request invoices |
| [sauron][sauron] | A Bitcoin backend relying on [Esplora][esplora]'s API |
| [sitzprobe][sitzprobe] | A Lightning Network payment rehearsal utility |
| [sparko][sparko] | RPC over HTTP with fine-grained permissions, SSE and spark-wallet support |
| [summary][summary] | Print a nice summary of the node status |
| [trustedcoin][trustedcoin] | Replace your Bitcoin Core with data from public block explorers |
| [webhook][webhook] | Dispatches webhooks based from [event notifications][event-notifications] |
| [watchtower][watchtower-client] | Watchtower client for The Eye of Satoshi |
| [zmq][zmq] | Publishes notifications via [ZeroMQ][zmq-home] to configured endpoints |
| [nloop][nloop] | Generic Lightning Loop for boltz |

## Installation

Expand All @@ -59,10 +59,11 @@ 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.

- 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

Expand All @@ -74,29 +75,32 @@ you don't need to manage all the `--plugin=...` parameters.
### Dynamic plugin initialization

Most of the plugins can be managed using the RPC interface. Use

```
lightning-cli plugin start /path/to/plugin/directory/plugin_file_name
```

to start it, and

```
lightning-cli plugin stop /path/to/plugin/directory/plugin_file_name
```

to stop it.

As a plugin developer this option is configurable with all the available plugin libraries,
and defaults to `true`.


### PYTHONPATH and `pyln`

To simplify plugin development you can rely on `pyln-client` for the plugin
implementation, `pyln-proto` if you need to parse or write lightning protocol
messages, and `pyln-testing` in order to write tests. These libraries can be
retrieved in a number of different ways:

- Using `pip` tools: `pip3 install pyln-client pyln-testing`
- Using the `PYTHONPATH` environment variable to include your clightning's
shipped `pyln-*` libraries:
- Using `pip` tools: `pip3 install pyln-client pyln-testing`
- Using the `PYTHONPATH` environment variable to include your clightning's
shipped `pyln-*` libraries:

```bash
export PYTHONPATH=/path/to/lightnind/contrib/pyln-client:/path/to/lightnind/contrib/pyln-testing:$PYTHONPATH
Expand Down Expand Up @@ -158,36 +162,35 @@ The minimum supported version of Python for this repository is currently `3.6.x`
Python plugins users must ensure to have a version `>= 3.6`.
Python plugins developers must ensure their plugin to work with all Python versions `>= 3.6`.


## More Plugins from the Community

- [@conscott's plugins](https://github.com/conscott/c-lightning-plugins)
- [@renepickhardt's plugins](https://github.com/renepickhardt/c-lightning-plugin-collection)
- [@rsbondi's plugins](https://github.com/rsbondi/clightning-go-plugin)
- [Core-Lightning plugins emulating commands of LND (lncli)](https://github.com/kristapsk/c-lightning-lnd-plugins)
- [@conscott's plugins](https://github.com/conscott/c-lightning-plugins)
- [@renepickhardt's plugins](https://github.com/renepickhardt/c-lightning-plugin-collection)
- [@rsbondi's plugins](https://github.com/rsbondi/clightning-go-plugin)
- [Core-Lightning plugins emulating commands of LND (lncli)](https://github.com/kristapsk/c-lightning-lnd-plugins)

## Plugin Builder Resources

- [Description of the plugin API][plugin-docs]
- [C Plugin API][c-api] by @rustyrussell
- [Python Plugin API & RPC Client][python-api] ([PyPI][python-api-pypi]) by @cdecker and [a video tutorial](https://www.youtube.com/watch?v=FYs1I-pCJIg) by @renepickhardt
- [Go Plugin API & RPC Client][go-api] by @niftynei
- [C++ Plugin API & RPC Client][cpp-api] by @darosior
- [Javascript Plugin API & RPC Client][js-api] by @darosior
- [TypeScript Plugin API & RPC Client][ts-api] by @AaronDewes
- [Java Plugin API & RPC Client][java-api] by @vincenzopalazzo
- [C# Plugin Guideline and example project][csharp-example] by @joemphilips
- [Kotlin plugin guideline and example][kotlin-example] by @vincenzopalazzo
- [Description of the plugin API][plugin-docs]
- [C Plugin API][c-api] by @rustyrussell
- [Python Plugin API & RPC Client][python-api] ([PyPI][python-api-pypi]) by @cdecker and [a video tutorial](https://www.youtube.com/watch?v=FYs1I-pCJIg) by @renepickhardt
- [Go Plugin API & RPC Client][go-api] by @niftynei
- [C++ Plugin API & RPC Client][cpp-api] by @darosior
- [Javascript Plugin API & RPC Client][js-api] by @darosior
- [TypeScript Plugin API & RPC Client][ts-api] by @AaronDewes
- [Java Plugin API & RPC Client][java-api] by @vincenzopalazzo
- [C# Plugin Guideline and example project][csharp-example] by @joemphilips
- [Kotlin plugin guideline and example][kotlin-example] by @vincenzopalazzo

## Archived plugins

The following is a list of archived plugins that no longer maintained.
If you like a plugin from that list, feel free to update and fix it, so we can
un-archive it.

| Name | Short description |
| ------------------------------------ | ------------------------------------------------------------------------------------------- |
| [commando][commando] | Authorize peers to run commands on your node, and running commands on them. |
| Name | Short description |
| -------------------- | --------------------------------------------------------------------------- |
| [commando][commando] | Authorize peers to run commands on your node, and running commands on them. |

[esplora]: https://github.com/Blockstream/esplora
[pers-chans]: https://github.com/lightningd/plugins/tree/master/persistent-channels
Expand All @@ -197,7 +200,7 @@ un-archive it.
[summary]: https://github.com/lightningd/plugins/tree/master/summary
[donations]: https://github.com/lightningd/plugins/tree/master/donations
[drain]: https://github.com/lightningd/plugins/tree/master/drain
[plugin-docs]: https://lightning.readthedocs.io/PLUGINS.html
[plugin-docs]: https://docs.corelightning.org/docs/plugin-development
[c-api]: https://github.com/ElementsProject/lightning/blob/master/plugins/libplugin.h
[currencyrate]: https://github.com/lightningd/plugins/tree/master/currencyrate
[python-api]: https://github.com/ElementsProject/lightning/tree/master/contrib/pylightning
Expand All @@ -215,7 +218,7 @@ un-archive it.
[js-api]: https://github.com/lightningd/clightningjs
[ts-api]: https://github.com/runcitadel/c-lightning.ts
[monitor]: https://github.com/renepickhardt/plugins/tree/master/monitor
[nostrify]: https://github.com/joelklabo/nostrify
[nostrify]: https://github.com/joelklabo/nostrify
[reckless]: https://github.com/darosior/reckless
[request-invoice]: https://github.com/lightningd/plugins/tree/master/request-invoice
[sauron]: https://github.com/lightningd/plugins/tree/master/sauron
Expand Down

0 comments on commit fe6a02c

Please sign in to comment.