andrerfneves / faraday

Lightning Channel Management & Optimization Tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

faraday

MIT licensed

Faraday is an external service intended to be run in conjunction with the lnd implementation of the Lightning Network. It queries LND for information about its existing channels and provides channel close recommendations if channels are under-performing.

Installation

A Makefile is provided. To install faraday and all its dependencies, run:

go get -d github.com/lightninglabs/faraday
cd $GOPATH/src/github.com/lightninglabs/faraday
make && make install

Tests

To run all the unit tests in the repo, use:

make check

Usage

Faraday connects to a single instance of lnd. It requires access to a macaroon with read permissions and a valid TLS certificate. It will attempt to use the default lnd values if no command line flags are specified.

./faraday                                    \
--macaroondir={directory containing macaroon}   \
--macaroonfile={macaroon with read permissions} \
--tlscertpath={path to lnd cert}                \
--rpserver={host:port of lnd's rpserver} 

By default, faraday runs on mainnet. The --testnet, --simnet or --regtest flags can be used to run in test environments.

RPCServer

Faraday serves requests over grpc by default on localhost:8465. This default can be overwritten:

--rpclisten={host:port to listen for requests}

Cli Tool

The RPC server can be conveniently accessed using a command line tool.

  1. Run faraday as detailed above
./frcli {command}
Commands
  • insights: expose metrics gathered for one or many channels.
  • revenue: generate a revenue report over a time period for one or many channels.
  • outliers: close recommendations based whether channels are outliers based on a variety of metrics.
  • threshold: close recommendations based on thresholds a variety of metrics.

Metrics currently tracked

The following metrics are tracked in faraday and exposed via insights and used for outliers and threshold close recommendations.

  • Uptime
  • Revenue
  • Total Volume
  • Incoming Volume
  • Outgoing Volume

About

Lightning Channel Management & Optimization Tool

License:MIT License


Languages

Language:Go 93.5%Language:Makefile 3.7%Language:Shell 2.1%Language:Dockerfile 0.8%