Lightning Terminal

Time: 20 minutes

Lightning Terminal gives the user a nice skin around existing tools from Lightning Labs. The tools are Loop, Faraday and Pool. At the moment, Loop is good to use through LiT. Pool also works fine, but is still in preview phase. Faraday has only 1 functionality in LiT, but more will be added.

LiT use cases

  • A visual overview of the balance of your Lightning channels.
  • Balancing channels via Loop using submarine swaps.
  • Balancing is done with on-chain satoshis with Loop In.
  • You pay less fees when you balance multiple channels at once.
  • Easily send satoshis to your on-chain wallet with Loop Out.
  • Participate in the Lightning Network liquidity market with Pool.
  • Downloadable overview of channels in CSV format with Faraday.

A demo video can be found here.

Requirements

Configuring LND for LiT

If you have installed LND without any special installation tags, you need to reinstall LND. If you followed the guide, you don't have to worry and you can skip this section.

Since we are reinstalling LND with new tags, the macaroon files (files that provide authentication) need to be removed. After restarting the fresh installation, the files will be recreated.

Your channels and wallet will continue to exist on a reinstallation of LND. Just like an update.

Are you running Thunderhub or other tools that depend on LND? If so, you'll need to restart those after restarting LND as well.

Go to the source files directory of LND to reinstall LND with the correct installation tags.

cd ~/lnd

Install LND with the appropriate tags.

make install tags="autopilotrpc signrpc walletrpc chainrpc invoicesrpc routerrpc watchtowerrpc monitoring peersrpc"

Check for macaroon files.

ls -la ~/.lnd/data/chain/bitcoin/mainnet

The macaroon files you need to delete are: admin.macaroon, invoice.macaroon, readonly.macaroon router.macaroon .

Delete the macaroon files.

rm -i ~/.lnd/data/chain/bitcoin/mainnet/*.macaroon

Answer the questions with yes to delete each file.

Restart LND. This will also create new macaroons.

sudo systemctl restart lnd

Unlock your wallet with your password.

lncli unlock

Installation

Navigate back to your home directory.

cd ~

Download the source code for Lightning Terminal.

git clone https://github.com/lightninglabs/lightning-terminal

Dive into the code.

cd lightning-terminal

Grab the latest version/tag/release.

git checkout v0.11.0-alpha

Install Lightning Terminal. This may take about 15 minutes.

make install

Configuration

Configuring LiT - like many other things in this guide - is done via a configuration file. The file contains all the settings and during the startup of LiT the settings will be applied.

Create the .lit folder in your home directory.

mkdir ~/.lit

Create the configuration file.

nano ~/.lit/lit.conf

Copy the following into the configuration file.

# Lightning Terminal application settings
uipassword=THINK_OF_A_PASSWORD
network=mainnet
httpslisten=0.0.0.0:8443
# Remote LND settings
remote.lnd.rpcserver=127.0.0.1:10009
remote.lnd.macaroonpath=/home/ubuntu/.lnd/data/chain/bitcoin/mainnet/admin.macaroon
remote.lnd.tlscertpath=/home/ubuntu/.lnd/tls.cert
# Remote Faraday settings
faraday-mode=remote
remote.faraday.rpcserver=127.0.0.1:8465
remote.faraday.macaroonpath=/home/ubuntu/.faraday/mainnet/faraday.macaroon
remote.faraday.tlscertpath=/home/ubuntu/.faraday/mainnet/tls.cert
# Remote Loop settings
loop-mode=remote
remote.loop.rpcserver=127.0.0.1:11010
remote.loop.macaroonpath=/home/ubuntu/.loop/mainnet/loop.macaroon
remote.loop.tlscertpath=/home/ubuntu/.loop/mainnet/tls.cert
# Remote Pool settings
pool-mode=remote
remote.pool.rpcserver=127.0.0.1:12010
remote.pool.macaroonpath=/home/ubuntu/.pool/mainnet/pool.macaroon
remote.pool.tlscertpath=/home/ubuntu/.pool/mainnet/tls.cert

Above it says THINK_OF_A_PASSWORD by the password. Change this to something you like. Save the changes with Ctrl + X and confirm with Y.

Firewall

We can access LiT over port 8443, hence we open it.

sudo ufw allow 8443 comment "Port for Lightning Terminal"

Automation

How do you make Lightning Terminal start up automatically? For that, we create another Lightning Terminal service file.

Create a LiT service

sudo nano /etc/systemd/system/lit.service

Paste this into it.

[Unit]
Description=Lightning Terminal
Requires=lnd.service
Requires=faraday.service
Requires=loop.service
Requires=pool.service
After=lnd.service
After=faraday.service
After=loop.service
After=pool.service
[Service]
User=ubuntu
ExecStart=/home/ubuntu/go/bin/litd
PIDFile=/home/ubuntu/.lit/lit.pid
Restart=always
TimeoutSec=120
RestartSec=30
[Install]
WantedBy=multi-user.target

Save the changes with Ctrl + X and confirm with Y.

Notify the system of the new service.

sudo systemctl enable lit

Start the LiT service as follows.

sudo systemctl start lit

If you want to see if the service was started, run this.

systemctl status lit

If you want a view of the status across multiple sessions, use this command.

sudo journalctl -f -u lit

Using Lightning Terminal

Open https://IP OF YOUR PI:8443 in the browser to log into Lightning Terminal and get started with the tool. Don't forget to put HTTPS in front of it.

Walkthrough

Getting started with the LiT dashboard? Then follow this walkthrough from Lightning Labs.

Updating

Go to the application directory.

cd ~/lightning-terminal

Update the repository with the latest changes via Git.

git fetch --all

Show the latest version/tag/release.

git describe --tags `git rev-list --tags --max-count=1`

Retrieve the changes from the latest release.

git checkout -f <OUTPUT FROM PREVIOUS STEP> #e.g. v0.11.0-alpha

Install Lightning Terminal.

make install

Restart the LiT service.

sudo systemctl restart lit