No description
Find a file
2020-03-19 10:47:41 +01:00
cmd gvncli+governator: add version 2020-03-19 10:47:41 +01:00
dataset mutli: update line wrap to 80 2020-02-11 22:37:26 +02:00
gvnrpc multi: rename trmrpc to gvnrpc 2020-03-05 17:07:35 +02:00
insights multi: rename terminator main package to governator 2020-03-05 17:07:21 +02:00
make multi: Add makefile 2019-11-05 08:45:34 +02:00
recommend multi: rename terminator main package to governator 2020-03-05 17:07:21 +02:00
revenue revenue: remove time parameters from get revenue 2020-02-11 22:42:17 +02:00
utils utils: add GetOutPointFromString helper 2019-12-16 11:03:41 +02:00
.gitignore gvncli+governator: add version 2020-03-19 10:47:41 +01:00
.golangci.yml terminator: query for recommendations on startup 2019-12-19 15:45:38 +02:00
.travis.yml terminator: Add travis config 2019-11-07 11:25:00 +02:00
config.go config: update default port to 8465 2020-03-10 11:02:35 +02:00
go.mod multi: rename terminator main package to governator 2020-03-05 17:07:21 +02:00
go.sum trmcli: add cli and command for close recommendations 2020-01-31 13:20:11 +02:00
governator.go multi: rename trmrpc to gvnrpc 2020-03-05 17:07:35 +02:00
LICENSE readme: update license and remove status 2020-03-10 11:02:03 +02:00
log.go multi: rename trmrpc to gvnrpc 2020-03-05 17:07:35 +02:00
Makefile multi: rename trmcli to gvncli 2020-03-05 17:07:39 +02:00
README.md readme: add rpc and cli information 2020-03-10 11:09:28 +02:00
version.go gvncli+governator: add version 2020-03-19 10:47:41 +01:00

governator

MIT licensed

The governator 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 governator and al its dependencies, run:

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

Tests

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

make check

Usage

Governator 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.

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

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

RPCServer

Governator 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 governator as detailed above
./gvncli {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 governator and exposed via insights and used for outliers and threshold close recommendations.

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