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 settingsuipassword=THINK_OF_A_PASSWORDnetwork=mainnethttpslisten=0.0.0.0:8443# Remote LND settingsremote.lnd.rpcserver=127.0.0.1:10009remote.lnd.macaroonpath=/home/ubuntu/.lnd/data/chain/bitcoin/mainnet/admin.macaroonremote.lnd.tlscertpath=/home/ubuntu/.lnd/tls.cert# Remote Faraday settingsfaraday-mode=remoteremote.faraday.rpcserver=127.0.0.1:8465remote.faraday.macaroonpath=/home/ubuntu/.faraday/mainnet/faraday.macaroonremote.faraday.tlscertpath=/home/ubuntu/.faraday/mainnet/tls.cert# Remote Loop settingsloop-mode=remoteremote.loop.rpcserver=127.0.0.1:11010remote.loop.macaroonpath=/home/ubuntu/.loop/mainnet/loop.macaroonremote.loop.tlscertpath=/home/ubuntu/.loop/mainnet/tls.cert# Remote Pool settingspool-mode=remoteremote.pool.rpcserver=127.0.0.1:12010remote.pool.macaroonpath=/home/ubuntu/.pool/mainnet/pool.macaroonremote.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 TerminalRequires=lnd.serviceRequires=faraday.serviceRequires=loop.serviceRequires=pool.serviceAfter=lnd.serviceAfter=faraday.serviceAfter=loop.serviceAfter=pool.service[Service]User=ubuntuExecStart=/home/ubuntu/go/bin/litdPIDFile=/home/ubuntu/.lit/lit.pidRestart=alwaysTimeoutSec=120RestartSec=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