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 ~/lndInstall 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/mainnetThe 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/*.macaroonAnswer the questions with yes to delete each file.
Restart LND. This will also create new macaroons.
sudo systemctl restart lndUnlock your wallet with your password.
lncli unlockInstallation
Navigate back to your home directory.
cd ~Download the source code for Lightning Terminal.
git clone https://github.com/lightninglabs/lightning-terminalDive into the code.
cd lightning-terminalGrab the latest version/tag/release.
git checkout v0.11.0-alphaInstall Lightning Terminal. This may take about 15 minutes.
make installConfiguration
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 ~/.litCreate the configuration file.
nano ~/.lit/lit.confCopy 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.certAbove 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.servicePaste 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.targetSave the changes with Ctrl + X and confirm with Y.
Notify the system of the new service.
sudo systemctl enable litStart the LiT service as follows.
sudo systemctl start litIf you want to see if the service was started, run this.
systemctl status litIf you want a view of the status across multiple sessions, use this command.
sudo journalctl -f -u litUsing 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-terminalUpdate the repository with the latest changes via Git.
git fetch --allShow 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-alphaInstall Lightning Terminal.
make installRestart the LiT service.
sudo systemctl restart lit