How to Run a Glitch Lightning Network Node

Glitch has now its own implementation of the lightning network, it uses the eclair client. Currently, this is only supported on testnet, let's check how to set it up and run our very own lightning network client!.

It is recommended to run Debian 10 (buster) as it has all the library versions we need

Install Glitch Core

Let's go ahead and install Glitch on our Debian 10, the easy way is to use the Glitch Debian repository:

Enable the Glitch repository

Installing dirmngr and apt-transport-https

These two packages are needed to enable the Glitch repository on Debian, let's install them:

apt install -y apt-transport-https dirmngr

Adding repository to your APT sources.

sudo su - Sudo to root first

echo "deb https://repo.glitch.info/apt/debian/ buster main" >> /etc/apt/sources.list.d/glitch.list

Add Glitch key

Before installing, we need to add the Glitch apt key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BF5B197D

Refreshing APT sources and installing Glitch

sudo apt update && sudo apt install glitch

Glitch should be installed now, let's continue

Create Glitch configuration file

We need to create the .glitch folder manually, also, we will create the configuration file inside of that folder, here's how:

mkdir ~/.glitch

nano ~./glitch/glitch.conf

This will create a text file using the nano editor, copy/paste the following inside that file:

server=1

rpcuser=user

rpcpassword=password

txindex=1

addresstype=bech32

zmqpubrawblock=tcp://127.0.0.1:28000

zmqpubrawtx=tcp://127.0.0.1:28000

Install GLITCH Eclair - Lightning Client

Let's install some dependencies to prepare for the lightning client:

Install JDK and Maven

Glitch Eclair is developed using the Scala language. To run Glitch Eclair, you must first install the JDK, and OpenJDK 11 or above is recommended.

apt-get install default-jdk

apt install maven

Run Glitch Eclair

Create and edit the configuration file ~/.glitch/glitch.conf as follows:

eclair {
chain = "testnet" // "mainnet" for mainnet, "testnet" for testnet, "regtest" for regtest
server {
public-ips = []
binding-ip = "0.0.0.0"
port = 9735
}
api {
enabled = false
binding-ip = "127.0.0.1"
port = 8080
password = "glitch"
use-old-api = false
}
watcher-type = "bitcoind"
bitcoind {
host = "localhost"
rpcport = 4002
bitdir = ""
rpcuser = "foo"
rpcpassword = "bar"
zmqblock = "tcp://127.0.0.1:28000"
zmqtx = "tcp://127.0.0.1:28000"
}
default-feerates {
delay-blocks {
1 = 1200000
}
}
min-feerate = 400
smooth-feerate-window = 6 // 1 = no smoothing
node-alias = "glitch-eclair"
node-color = "49edaa"
global-features = ""
local-features = "8a"
override-features = []
channel-flags = 1
dust-limit-satoshis = 72800
max-htlc-value-in-flight-msat = 500000000000 // 5 GLITCH
htlc-minimum-msat = 1
max-accepted-htlcs = 30
reserve-to-funding-ratio = 0.01
max-reserve-to-funding-ratio = 0.05
to-remote-delay-blocks = 3600
max-to-local-delay-blocks = 10080
mindepth-blocks = 3
expiry-delta-blocks = 720
fee-base-msat = 400000
fee-proportional-millionths = 100
max-feerate-mismatch = 1.56
update-fee_min-diff-ratio = 0.1
revocation-timeout = 20 seconds
ping-interval = 30 seconds
ping-timeout = 10 seconds
ping-disconnect = true
auto-reconnect = true
payment-handler = "local"
payment-request-expiry = 1 hour
min-funding-satoshis = 1000000 // 0.01 Glitch
max-payment-attempts = 5
autoprobe-count = 0
router {
randomize-route-selection = true
channel-exclude-duration = 60 seconds
broadcast-interval = 60 seconds
init-timeout = 5 minutes
path-finding {
max-route-length = 6
max-cltv = 5040
fee-threshold-sat = 8400
max-fee-pct = 0.03
heuristics-enable = true
ratio-cltv = 0.15
ratio-channel-age = 0.35
ratio-channel-capacity = 0.5 }
}
}
// do not edit or move this section
eclair {
backup-mailbox {
mailbox-type = "akka.dispatch.BoundedMailbox"
mailbox-capacity = 1
mailbox-push-timeout-time = 0
}
backup-dispatcher {
executor = "thread-pool-executor"
type = PinnedDispatcher
}
}


PLEASE NOTE : Please modify this config file accordingly, if you modified the rpcuser and rpcpassword on glitch.conf,