In the expansive world of Bitcoin and its off-chain scalability solutions, Core Lightning stands out as a unique implementation of the Lightning Network due to its growing library of plugins. It represents an alternative to other popular implementations, such as eClair and LND with the main distinction lies in its architecture and its approach to expanding functionality.
Whether you’re a seasoned Bitcoin enthusiast or a newcomer to the Lightning Network, Core Lightning offers a unique take on scalable, low-cost Bitcoin transactions. With its plugin system, it presents an enticing opportunity for anyone seeking to customise their Lightning Network experience.
What is core Lightning?
Core Lightning (previously c-lightning) is a lightweight, highly customisable and standard-compliant implementation of the Lightning Network protocol released and maintained by Blockstream. The Core Lightning project implements the lightning protocol as specified in various BOLTs but allows for additional modules to be built on it.
Core Lightning is broken into subdaemons, with the idea being that it can add more layers of separation between different clients and extra barriers to exploits and provide more freedom to add functionality and interoperability.
What are CLN plugins?
Plugins in Core Lightning allow users to extend the functionality of the protocol without needing to delve into the complexities of the underlying source code. They provide a powerful way for developers to add new features or modify existing ones.
Plugins are standalone processes that interact with Core Lightning via a simple JSON-RPC interface, enabling users to write plugins in any language they’re comfortable with. This opens up a world of possibilities for customisation and function expansion, making Core Lightning not only a powerful tool for managing Bitcoin transactions but also a highly adaptable system that can evolve with the needs of its users.
Opening up to new ideas
Core Lightning not only empowers its users with customisation but also thrives on community involvement. As an open-source project, it invites contributions from anyone and everyone, particularly through the development of plugins.
This inclusive approach transforms Core Lightning from a mere tool into a living, evolving ecosystem. Developers across the globe, regardless of their affiliation or professional background, are welcome to create and contribute plugins.
Whether it’s a feature that enhances user experience, increases efficiency, or introduces a whole new way to interact with the Lightning Network, it’s this diversity of perspectives that can propel Core Lightning forward and increase its market share in the Lightning Network.
Plugins are also the reason Lightning nodes may want to switch from other implementations should they want more functionality or wish to experiment with community source code contributions.
What Core Lightning plugins are available?
reckless
 is a plugin manager for Core Lightning that you can use to install and uninstall plugins with a single command. Reckless-installed plugins reside in the ‘reckless’ subdirectory of the user’s .lightning
 folder. By default, plugins are activated on the bitcoin
 network (and use lightningd’s Bitcoin network config), but regtest may also be used.
Reckless will exit early in the event that:
- the plugin is not found in any available source repositories
- dependencies are not sucessfully installed
- the plugin fails to execute
If you’re looking for plugins to try out, you can check out the list below.
Name | Description |
---|---|
autopilot | An autopilot that suggests channels that should be established |
backup | A simple and reliable backup plugin |
boltz-channel-creation | A Core-Lightning plugin for Boltz Channel Creation Swaps |
btcli4j | A Bitcoin Backend to enable safely the pruning mode, and support also rest APIs. |
circular | A smart rebalancing plugin for Core Lightning routing nodes |
csvexportpays | A plugin that exports all payments to a CSV file |
currencyrate | A plugin to convert other currencies to BTC using web requests |
clearnet | A plugin that can be used to enforce clearnet connections when possible |
cln-ntfy | Core Lightning plugin for sending ntfy alerts. |
donations | A simple donations page to accept donations from the web |
drain | Draining, filling and balancing channels with automatic chunks. |
event-websocket | Exposes notifications over a Websocket |
feeadjuster | Dynamic fees to keep your channels more balanced |
go-lnmetrics.reporter | Collect and report of the lightning node metrics |
graphql | Exposes the Core-Lightning API over graphql |
invoice-queue | Listen to lightning invoices from multiple nodes and send to a redis queue for processing |
lightning-qt | A bitcoin-qt-like GUI for lightningd |
listmempoolfunds | Track unconfirmed wallet deposits |
monitor | helps you analyze the health of your peers and channels |
noise | Chat with your fellow node operators |
nostrify | Send CLN events to Nostr |
paythrough | Pay an invoice through a specific channel, regardless of better routes |
persistent-channels | Maintains a number of channels to peers |
poncho | Turns CLN into a hosted channels provider |
probe | Regularly probes the network for stability |
prometheus | Lightning node exporter for the prometheus timeseries server |
pruning | This plugin manages pruning of bitcoind such that it can always sync |
python-teos | The Eye of Satoshi – Lightning Watchtower |
rebalance | Keeps your channels balanced |
reckless | An experimental plugin manager (search/install plugins) |
requestinvoice | HTTP server to request invoices |
sauron | A Bitcoin backend relying on Esplora‘s API |
sitzprobe | A Lightning Network payment rehearsal utility |
sparko | RPC over HTTP with fine-grained permissions, SSE and spark-wallet support |
summary | Print a nice summary of the node status |
trustedcoin | Replace your Bitcoin Core with data from public block explorers |
webhook | Dispatches webhooks based from event notifications |
watchtower | Watchtower client for The Eye of Satoshi |
zmq | Publishes notifications via ZeroMQ to configured endpoints |
nloop | Generic Lightning Loop for boltz |
Do your own research.
If you want to learn more about Lightning Plugins, use this article as a jumping-off point and don’t trust what we say as the final say. Take the time to research other sources, and you can start by checking out the resources below.
Are you a Bitcoin and Lightning fan?
Have you been using Lightning to make micro-payments? Stream sats or engage with apps? Which app is your favourite? Do you run a Lightning node? Have you tried all the forms of Lightning payments? Which one do you prefer?
Let us know in the comments down below.