Automate Lightning Node Management with CLBOSS

grubles
Blockstream Engineering Blog
3 min readMar 17, 2022

Lightning is a micropayments network built on top of Bitcoin. It’s pretty great, and it lets you send bitcoin around instantaneously instead of waiting around for a block to be mined. Lightning elevates Bitcoin into a new paradigm of trustless digital cash that can not be achieved purely with on-chain transactions, with all of the limitations blockchains bring along with them.

Scalability, privacy, programmability, and user experience are all things that Lightning improves. But in order to maintain the full trustlessness of Lightning, one has to operate a Lightning-specific node in addition to a Bitcoin consensus-layer node.

Let’s be honest. Running a Lightning node is not a simple endeavor. A level of knowledge from two separate disciplines is required to successfully run a LN node. First, operating a LN node requires a decent understanding of packet routing / firewalling so other nodes can connect to yours, and underlying operating system administration to keep your node secure.

On top of that, node operation requires an understanding of how the Lightning Network works.

Managing a LN node is also a fairly interactive process, meaning you have to do a lot of individual manual tasks. You have to know which peers are “good” peers to open channels to, and that in of itself is a difficult thing to accomplish. Then you have to actually open the channels. Then you have to make sure the channels remain open if they are closed by your channel counterparty for some reason. You have to manually balance your channels, and understand why you would want to balance channels in the first place. The list goes on…

Obviously, these tasks pile up and eventually become the equivalent of a part time job.

Show Your Node Who’s Boss

Enter CLBOSS, an “AI” for your c-lightning node. All of the manual Lightning tasks I mentioned earlier are automatically handled by CLBOSS so you can go about your day without having to constantly tend to your LN node.

CLBOSS is specific to c-lightning, so you’ll have to migrate from other implementations to harness its awesomeness.

Here’s what CLBOSS can do:

  • Probe nodes to determine which ones to open channels to
  • Open channels when fees are low and there are on-chain funds
  • Adjust routing fees to be competitive with other nodes
  • Perform submarine swaps via boltz.exchange API
  • Automatically rebalance channels

Additionally, it can do cool things leveraging c-lightning such as opening multiple channels in a single Bitcoin transaction.

This means all you have to do is deposit some bitcoin into your c-lightning node and CLBOSS will start working on your behalf. No more tedious part time LN operator job!

Installing CLBOSS

Raspiblitz users can quickly install CLBOSS in the SETTINGS menu. Just hit spacebar when CLBOSS is selected and then hit OK.

Otherwise, a manual install is required — although it’s just the typical ./configure && make && make install. The CLBOSS Github repo README has a list of dependencies too.

Post-Installation

Once CLBOSS is installed, add it to your c-lightning config file:

plugin=/usr/local/bin/clboss

Restart your c-lightning node, then simply feed your node some bitcoins. Over time you will end up with a slew of balanced channels and maybe even some routing fees— depending on how much BTC you feel like putting online in a hot wallet.

That’s it! While CLBOSS does its thing, you can keep an eye on the various tasks it performs with the clboss-status command.

e.g. lightning-cli clboss-status

This will output:

  • On-chain swaps CLBOSS has performed for you
  • A list of high quality nodes CLBOSS has discovered via probing
  • Individual peer metrics (channel age, routing attempts, fees per day, etc.)
  • Other stats

Now that you’ve set up CLBOSS, you can sit back and relax knowing you have less TODOs on your plate. Thanks for reading!

--

--