No description
Find a file
2020-11-19 15:00:58 +08:00
Bitcoin Bitcoin/: Explicitly use std::uint64_t with Bitcoin::varint. 2020-11-17 10:45:00 +00:00
Boltz *: Silence clang warnings. 2020-11-02 19:02:35 +08:00
Boss Boss/Mod/OnchainFeeMonitor.cpp: Load initial data. 2020-11-19 15:00:58 +08:00
DnsSeed DnsSeed/get.cpp: Add interface to use over tor. 2020-10-20 18:29:49 +08:00
Ev Util/vector_emplace_back.hpp: Utility function to wrap around missing operations in std::vector<bool>. 2020-11-06 09:22:46 +00:00
external external/libsodium/: Add more files that were removed by .gitignore. 2020-10-30 07:59:54 +08:00
Graph Graph/Dijkstra.hpp: Shortest-path-tree algorithm. 2020-10-02 12:10:52 +08:00
Jsmn Jsmn/: Implement iterators. 2020-11-11 11:38:19 +08:00
Json Json/Out.hpp: Use basic types in templates. 2020-11-18 13:55:43 +00:00
Ln Boss/Mod/HtlcAcceptor.cpp: Module to handle and dispatch HTLC acceptance. 2020-10-03 18:49:27 +08:00
Net Net/ProxyConnector.cpp: Send the entire CONNECT sequence in a single write call instead of multiple ones. 2020-11-15 20:02:41 +08:00
Ripemd160 Ripemd160/Hash.hpp: Silence old clang. 2020-11-02 20:11:53 +08:00
S S/Detail/Signal.hpp: Raising a message is now done concurrently. 2020-09-23 01:05:37 +08:00
Secp256k1 Secp256k1/SignerIF.hpp: Add interface method to get a deterministic random number from some random entropy. 2020-09-28 11:59:11 +08:00
Sha256 Sha256/Hash.hpp: Silence old clang. 2020-11-02 19:30:55 +08:00
Sqlite3 Sqlite3/Detail/*: Use basic types for templates. 2020-11-18 15:38:40 +00:00
Stats Stats/WeightedMedian.hpp: Add missing include for std::plus template. 2020-11-06 11:03:57 +00:00
tests Boss/Mod/OnchainFeeMonitor.cpp: Load initial data. 2020-11-19 15:00:58 +08:00
Util Util/vector_emplace_back.hpp: Utility function to wrap around missing operations in std::vector<bool>. 2020-11-06 09:22:46 +00:00
.gitignore dev-proxy-connect.cpp: Dev tool to check connections via proxy. 2020-11-13 11:26:21 +08:00
.travis.yml .travis.yml: Add test program for travis. 2020-11-02 11:21:37 +08:00
AUTHORS .: Initial build system. 2020-08-22 14:37:22 +00:00
ChangeLog ChangeLog: Update. 2020-11-18 23:44:29 +08:00
configure.ac configure.ac: post-release. 2020-11-17 12:47:46 +08:00
COPYING .: Initial build system. 2020-08-22 14:37:22 +00:00
dev-boltz-api.cpp dev-boltz-api.cpp: Tool to check that Boltz::Connection works. 2020-09-18 11:29:06 +08:00
dev-boltz.cpp *: Silence clang warnings. 2020-11-02 19:02:35 +08:00
dev-proxy-connect.cpp dev-proxy-connect.cpp: Dev tool to check connections via proxy. 2020-11-13 11:26:21 +08:00
main.cpp Boss/open_rpc_socket.cpp: Function to open the RPC socket. 2020-09-07 21:50:38 +08:00
Makefile.am Boss/Mod/OnchainFeeMonitor.cpp: Load initial data. 2020-11-19 15:00:58 +08:00
NEWS .: Initial build system. 2020-08-22 14:37:22 +00:00
README .: Initial build system. 2020-08-22 14:37:22 +00:00
README.md README.md: Some exposition. 2020-10-07 16:24:50 +08:00
Sqlite3.hpp Sqlite3*: Complete SQLITE3 support. 2020-09-12 15:29:03 +08:00
Uuid.cpp Uuid.cpp: Universally-unique identifiers. 2020-09-27 19:16:57 +08:00
Uuid.hpp Uuid.cpp: Universally-unique identifiers. 2020-09-27 19:16:57 +08:00

CLBOSS The C-Lightning Node Manager

CLBOSS is an automated manager for C-Lightning forwarding nodes.

CLBOSS is effectively a bunch of heuristics modules wired together to a regular clock to continuously monitor your node.

Its design goal is to make it so that running a Lightning Network node is as simple as installing C-Lightning and CLBOSS, putting some amount of funds of 0.1BTC or more, and making sure you have continuous Internet and power to the hardware running it.

Current versions of CLBOSS might not achieve this goal yet perfectly, but hopefully with enough effort and iteration and raw coding and etc etc it will someday be as unusual to manually manage a Lightning node as writing (as opposed to reading) machine language is unusual today.

I hope CLBOSS can make the transition from pre-Lightning to post-Lightning much smoother in practice.

Dependencies

If you are installing from some official source release tarball, you only need the below packages installed on a Debian or Debian-derived systems:

  • build-essential
  • pkg-config
  • libev-dev
  • libcurl4-gnutls-dev
  • libsqlite3-dev

Equivalent packages have a good probability of existing in non-Debian-derived distributions as well.

The following dependency is technically optional, but is strongly recommended (CLBOSS will check it at runtime so you do not need it while building):

  • dnsutils

If you have to build directly from github.com, you need the below Debian packages in addition:

  • git
  • automake
  • autoconf-archive

A design goal of CLBOSS is to reduce the above dependencies even further.

Installing

From an official source release, just:

./configure && make
sudo make install # or su first, then make install

This will install clboss as a standard executable, usually in /usr/local/bin/ by default. You will then need to modify your lightning.conf to add the path to which clboss as a plugin or important-plugin of lightningd.

From a git clone, you first need to execute:

autoreconf -i

Then run the ./configure && make && sudo make install.