Skip to main content

What is a plugin anyway?

  • Executable file
  • Started by CLN
  • Runs as a subprocess of CLN
  • Communicates with CLN via the plugin’s stdin and stdout
  • Can be written in any language
  • Can be launched at CLN startup or dynamically launched
  • Extends CLN’s functionality via:
    • RPC methods
    • Event stream notifications
    • Hooks

In this tutorial, we'll look at each of these elements more closely.

Examples of plugins​

Built in plugins:​

  • Pay (pays invoices)
  • Bcli (connects to a bitcoin backend)
  • Keysend (aids in sending and receiving keysend payments)
  • Bookkeeper (accounting manager)

Official plugins repo​

  • Summary (Print a nice summary of the node status)
  • Circular (A smart rebalancing plugin for Core Lightning routing nodes)
  • Watchtower (Watchtower client for The Eye of Satoshi)
  • Sauron (A Bitcoin backend relying on Esplora's API)
  • Reckless (An experimental plugin manager)

Other​

  • CLBOSS (Automated node manager)

Languages and Frameworks​

Python​

Rust​

Go​

C​

C++​

Javascript​

Typescript​

Java​

C#​

Kotlin​