// Raiju #Lightning
Raiju
Last month I beef’d up my Lightning Network node channel manager app raiju. I have been running a routing node (node alias matches the tool’s name, raiju) for a few years now, and while it certainly isn’t a profitable enterprise, I have at least learned a bit to make the node a reliable router. This is valuable enough for me to keep running it. I have been baking these lessons into my raiju app which is slowly automating more of my node management tasks. I don’t think any of them are mind blowing, but curious how much others are doing along the same lines.
The goal of raiju is to maximize a node’s routing reliability, while attempting to “break even” on costs. Raiju has a succinct interface, just four commands which are focused on the life-cycle of a channel: candidates
, reaper
, fees
, and rebalance
. It might be easiest to talk about the commands in pairs.
candidates
and reaper
focus on opening and closing channels. candidates
analyzes the network graph and attempts to find distant clusters of nodes. The idea here is there might be some off-the-beaten-path routing to offer two (or more) clusters instead of just being yet another node connected to one of the massive routing nodes. There is a chance this might also just strengthen the network in general, making it less dependent on the major hub nodes. reaper
is pretty straight forward, it just looks at the current channels and offers up ones which maybe should be closed have have the capital re-allocated to another channel.
fees
and rebalance
manage liquidity of the node’s current channels. fees
does this in a passive manner, by setting the channel fees based on a channel’s current liquidity. If a channel has high local liquidity, fees are lowered to encourage routing and vice versa. rebalance
manages liquidity in an active manner, pushing liquidity from channels with high local liquidity to channels with low local liquidity. The fees
and rebalance
commands coordinate with each other in order to avoid bleeding sats through active rebalancing. By default, the max PPM fee that rebalance
will use is equal to the low local liquidity fee of fees
. The idea here is protect against paying to move liquidity into a low liquidity channel, only to have it completely reverted by a payment which doesn’t pay as much in fees. Worst case scenario now is that the fees cancel out.
I had been running the fees
command for a while, but last month saw quite a feel big upgrades:
- Extended the configure-ability of
fees
with threshold definitions so experimentation is easier (e.g. what defines a high liquidity channel? 80%? 85%?) - Added a “stickiness” setting for
fees
to lower the amount of gossip in scenarios where a channel liquidity keeps jumping back and forth over a threshold fees
now has a daemon mode listening to all channel updates of a node in order to instantly update fees when needed, lowering risk of bleeding satscandidates
filters Tor-only nodes by default now since they are so unstable- a
raiju
container image is published now for easier installation
I’ll keep adding to raiju
as I think of things, but I believe its in a decent spot today.