Translated Topic in Pidgin Language;
🔥🔥 Complete GUIDE for Lightning Desktop NodesOriginal Topic: 🔥🔥 Complete GUIDE for Lightning Desktop Nodes Author:
Satofan44
As I dey try to participate for
NotATether's Lightning challenge, na from dere I get motivation which I decide to undertake for dis big project. I know say dey get plenty guides online, documentation and everything but for my experience as i dey try to set up lightning shows dem get issues. Sometimes information no dey, sometimes dey get errors or sometimes instructions don dey expire, and other times dem dey come with different assumptions based on dere knowledge which no dem no get proof or dey helpful.
My focus na for desktop wallets, for mobile wallets normally e no need guides or need minimum setup. If you get any wahala for di mobile application, contact di developer wey do am. Probably na di specific device and OS version configuration dey cause am. Dis na di experimental break-down for every wallet wey I don attempt to install. Di guide go also focus to provide information for Linux Ubuntu dey use latest information. If someone else wan repeat dis process for your own OS, you dey welcome to contribute with dat information. If you get suggestions or feedback, make u feel free to post dem for here or you fit DM me directly.
Important Reminders- Some attempts fit no work out, because na di case wey I face first as I to try use Eclair. But dat no mean say di guide no dey valuable, failure dey part of di journey. As we dey figure things out, I go deu update di guide accordingly. Dey go also be FAQ section wey we go need well. My own experience be say, if you dey look up to information sometimes because of errors dey results with no useful information.
- sometimes basic Linux knowledge dey require and expected. If you dey new to Linux, make sure say you dey comfortable with di tasks like to move directories, using di terminal, and more. If you no de sure, check out di guide like dis one: https://www.geeksforgeeks.org/30-days-of-linux/. For those wey get di GUI, you go get di easy time just use am for basic operations instead of the commands but you dey welcome to try and learn am.
Part 1: Prerequisites and Installation
Di list for LN wallets dem dey part of dis guide:
Operating System: Ubuntu 24.04 LTS, desktop or server.
Probably any Ubuntu/Debian derivative go work, but I no fit guarantee dat. You dey free to try am. To limit di repeat of nformation, you go provide short-guide for Bitcoin Core for dis section.
1. User Account Setup:
For security reasons, make you no run anything as root. E recommend to create di new user account. I go recommend say you read more about dis here:
https://dev.to/despider/why-not-to-use-root-user-317a.
For dis guide, we go need create user call
lightning and work under am. Open di terminal and run di commands for each step for di order wey dem provide. Commands dey always show for di code blocks.
1. Create user call lightning. Dem go ask you to set di password. For di remaining information wey dem ask you to input, you no need to enter anything.
sudo adduser lightning
sudo usermod -aG sudo lightning
2. You go use dis command to work use dis user account.
2. Bitcoin Core Setup:
1. Download di new release from here:
https://bitcoincore.org/en/download/. At the time wey you dey write dis na v29.0. for some situations where Ubuntu normally use, you go need di file wey link as
Linux (tgz). Note: If you wan do another verification for di download, di instructions for plenty operating systems dey for di same link. I no go reproduce dem here. I go work for di/home/ folder but you fit work for any location of your preference. For dis step, the command go move to di user's home folder, download Bitcoin Core and comot am.
cd /home/lightning/
wget https://bitcoincore.org/bin/bitcoin-core-29.0/bitcoin-29.0-x86_64-linux-gnu.tar.gz
tar -xvf bitcoin-29.0-x86_64-linux-gnu.tar.gz
2. To be able to start bitcoind and bitcoin-cli from anywhere, e go need to be move to di new location. We do dis under
/home/lightning/.bin and load di configuration from .profile using di
source command to make am work. You go need to use di
source command to load di configuration for each new terminal wey you open (if dem be non login terminals like you go get when you dey use Ubuntu Desktop).
mkdir /home/lightning/bin
mv /home/lightning/bitcoin-29.0/bin/bitcoin-cli /home/lightning/bin
mv /home/lightning/bitcoin-29.0/bin/bitcoind /home/lightning/bin
source /home/lightning/.profile
3. Di default data directory na ~/.bitcoin which for our case na /home/lightning/.bitcoin. To keep things easier we go also use dis location. You fit change am and specify
--datadir if you want. For dis step, we create di directory, di bitcoin.conf files and specify di need configurations. I go use nano as di text editor because e dey more user friendly.
mkdir /home/lightning/.bitcoin
nano /home/lightning/.bitcoin/bitcoin.conf
Use di following configuration options and make sure say you specify your own RPC username and password.
daemon=1
server=1
txindex=1
wallet=firstwallet
rpcuser=yourusername
rpcpassword=yourpassword
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubhashblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29001
Information for each option use here go provide for di FAQ. Abeg read di 3rd post for dis thread.
Note: You go need 750 GB or more disk space to run di full node.
4. If you don do everything correctly di following things go be done: First start bitcoind, and give am few seconds of time to take run properly. Den use bitcoin-cli to create dil new wallet called firstwallet.
bitcoind
bitcoin-cli createwallet firstwallet
To confirm say you don do dis successfully, you go get answer like dis:
{
"name": "firstwallet"
}
Next, di shutdown for di software don do use di -cli and e go start again using di bitcoind.
Note: for some system configurations fit de slow, always give bitcoind few seconds before you go run di next command for any code block.
If you run di commands too fast after startup na error you go see.
For dis step e no dey necessary like Bitcoin Core wey go automatically load di create wallet for di current instance, dis provided so dat di configuration file fit be tested. You wan make sure say your wallet go load when you restart di software. To check di current loaded wallets after you don restart am, use di following command:
Again, if you get dis answer dat means say you don complete di steps correctly.
{
"name": "firstwallet"
}
5. Di final step na to fully synchronize di blockchain. You fit check di status of your node for di following command:
bitcoin-cli getblockchaininfo
You go receive di answer like dis:
{
"chain": "main",
"blocks": 219242,
"headers": 895831,
"bestblockhash": "0000000000000012767dba93bdb63e4a3e0df576e3a2e8439a78c813feb3d792",
"bits": "1a05a6b1",
"target": "00000000000005a6b10000000000000000000000000000000000000000000000",
"difficulty": 2968775.332075074,
"time": 1359805720,
"mediantime": 1359804704,
"verificationprogress": 0.01017237324622422,
"initialblockdownload": true,
"chainwork": "000000000000000000000000000000000000000000000028fe60976baa91803d",
"size_on_disk": 6124750373,
"pruned": false,
"warnings": [
]
}
If you see sometin like dis, e mean say you don successfully complete all di steps. Congratulations!

Di
blocks line tell you how many blocks you don synchronized, and di
headers tell you di current block number of di Bitcoin blockchain. Another way, you fit also follow di progress with
verificationprogress which go need to reach 0.99 or you wait until
initialblockdownload don set to false. E dey important to remember say synchronization time no dey linear, so e go tek you 4 hours to reach 25% of di blocks dat no mean say e go take you just 12 more hours to take reach full synchronization.
For dis point,
I go advice you say make you take break and let am synchronize. You deserved am.
EclairPrerequisites: Bitcoin Core and Adoptium OpenJDK.
Adoptium OpenJDK Setup:
1. For di first step, download di Adoptium JDK from Github:
https://github.com/adoptium/temurin21-binaries/releases. Den comot am and move am to /home/lightning/bin. Di version at the time wey u dey write dis guide na 21.0.7+6, so you fit need to adjust di wget command if dey get di new version of it dey required by Eclair. Dis information na source from
dis guide, which I follow to successfully install Adoptium for my own systems. You fit consult am if e need more steps by your configuration.
cd /home/lightning/
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%2B6/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz
tar -xvf OpenJDK21U-jdk_x64_linux_hotspot_21.*.tar.gz
mv jdk-21.0.7+6 /home/lightning/bin/
2. Export di environment variables to add dem to .bashrc. Using sed, we fit put dis two lines to di file. Next, force di update for .bashrc with di source command
sed -i '$a export JAVA_HOME=/home/lightning/bin/jdk-21.0.7+6' /home/lightning/.bashrc
sed -i '$a export PATH=$PATH:$JAVA_HOME/bin' /home/lightning/
source /home/lightning/.bashrc
3. Verify say di JAVA variables don set properly:
You should get di response like dis:
/home/lightning/bin/jdk-21.0.7+6
4. To set di default JAVA version for di system.
sudo update-alternatives --install /usr/bin/java java /home/lightning/bin/jdk-21.0.7+6/bin/java 1
sudo update-alternatives --config java
You go get response similar to dis depending for your system:
Dey get 1 choice for di alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /home/lightning/jdk-21.0.7+6/bin/java 1 auto mode
1 /home/lightning/jdk-21.0.7+6/bin/java 1 manual mode
Press <enter> to keep di current choice
- , or type selection number:
If you get plenty versions of java, select dis one as di default to enter di right number. For dis case select 0. With dis, di requirement don complete and you fit start di Eclair installation process.
Eclair Setup:
1. Download di
latest version for eclair-node and comot di files to di separate folder. At di time of writing dis na Eclair v0.12.0 and we go use di folder to locate di/home/lightning/. Only di eclair-cli go move to another location so dat we go fit access am from anywhere.
cd /home/lightning/
wget https://github.com/ACINQ/eclair/releases/download/v0.12.0/eclair-node-0.12.0-4df8cd0-bin.zip
unzip eclair-node-0.12.0-4df8cd0-bin.zip
mv eclair-node-0.12.0-4df8cd0/bin/eclair-cli /home/lightning/bin
2. Next, create .eclair for di home directory wey dey like to wetin required for Bitcoin Core and create di configuration file named
eclair.conf. Di options for bold na di ones you need to edit am. Make sure say your API password dey strong, and that di RPC configuration data matches dat one which you don set up for bitcoin.conf.
mkdir /home/lightning/.eclair/
nano /home/lightning/.eclair/eclair.conf
eclair.node-alias=alias
eclair.server.port=9735
eclair.api.enabled=true
eclair.api.port=8080
eclair.api.password=Password
eclair.bitcoind.rpcuser=YourUsernameFromBitcoin.Conf
eclair.bitcoind.rpcpassword=YourPasswordFromBitcoin.Conf
eclair.bitcoind.zmqblock="tcp://127.0.0.1:29000"
eclair.bitcoind.zmqtx="tcp://127.0.0.1:29001"
eclair.bitcoind.wallet=firstwallet
Dis na di minimum working configuration. You fit see plenty plenty configurations and examples here:
https://github.com/ACINQ/eclair/blob/master/docs/Configure.md.
3. Next, test dat you fit start di node. You go see no output, which de good. Di test na to just make sure if no errors dey throw. You fit exit am by pressing di CTRL + C.
/home/lightning/eclair-node-0.12.0-4df8cd0/bin/eclair-node.sh
4. To enable di node to run for di background, di system service needs to be created. To do dis, do systemd file must be create.
sudo nano /lib/systemd/system/eclair.service
Copy di following block inside eclair.service:
[Unit]
Description=Eclair Shell Script
[Service]
ExecStart=/home/lightning/eclair-node-0.12.0-4df8cd0/bin/eclair-node.sh
[Install]
WantedBy=multi-user.target
Afterwards, run di following commands to take reload di daemon, enable di service and start am.
sudo systemctl daemon-reload
sudo systemctl enable eclair.service
sudo systemctl start eclair.service
5. If you don do everything correctly so far, di eclair node suppose dey run by now. To take confirm diis, run di following command:
You go need to enter your Eclair API password, di one you set up for di file
eclair.conf. You go get di output wey dey like dis one, which confirms say your node don dey successfully run.
{
"version": "0.12.0-4df8cd0",
"nodeId": "hidden",
"alias": "helloLightning",
"color": "#49daaa",
"features": {
"activated": {
"option_simple_close": "optional",
"option_route_blinding": "optional",
"option_dual_fund": "optional",
"gossip_queries_ex": "optional",
"option_data_loss_protect": "mandatory",
"var_onion_optin": "mandatory",
"option_static_remotekey": "mandatory",
"option_scid_alias": "optional",
"option_onion_messages": "optional",
"option_support_large_channel": "optional",
"option_anchors_zero_fee_htlc_tx": "optional",
"payment_secret": "mandatory",
"option_shutdown_anysegwit": "optional",
"option_channel_type": "optional",
"basic_mpp": "optional",
"gossip_queries": "optional",
"option_quiesce": "optional",
"option_payment_metadata": "optional"
},
"unknown": []
},
"chainHash": "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000",
"network": "mainnet",
"blockHeight": 895432,
"publicAddresses": [],
"instanceId": "hidden"
}
Congratulations! You don ready to use Eclair. For more information, visit di official Eclair documentation:
https://github.com/ACINQ/eclair/tree/master/docs,
https://github.com/ACINQ/eclair/blob/master/docs/Guides.md,
https://github.com/ACINQ/eclair/blob/master/docs/FAQ.md.
LNDPrerequisites: Bitcoin Core.
1. Download di
latest version of LND and Comot do files to di separate folder. At the time of writing dis na lnd v0.18.5-beta and we go use di folder locate for /home again. If you wan to do additional verification for binaries, information is provide directly for di
release. As you don already learn how to comot files for last parts of dis guide, plenty operations go do for dis step. Following di information from di
documentation, we go move di binaries to di location where do system fit find am.
cd /home/lightning/
wget https://github.com/lightningnetwork/lnd/releases/download/v0.18.5-beta/lnd-linux-amd64-v0.18.5-beta.tar.gz
tar -xvf lnd-linux-amd64-v0.18.5-beta.tar.gz
mv lnd-linux-amd64-v0.18.5-beta/lnd /home/lightning/bin
mv lnd-linux-amd64-v0.18.5-beta/lncli /home/lightning/bin
2. Before you go start LND, di configuration file must be provide. To do dis, the .lnd folder must be create for /home/lightning/ and di basic configuration must be set for di file lnd.conf. Make sure say your RPC username and password match di ones wey you don set up for Bitcoin Core. Di configuration only includes di basic necessary configurations and di few recommend lines from di
documentation. Abeg read dem up if you dey interested for what dey do.
mkdir /home/lightning/.lnd
nano /home/lightning/.lnd/lnd.conf
bitcoin.node=bitcoind
bitcoind.rpcuser=YourUsernameFromBitcoin.Conf
bitcoind.rpcpass=YourPasswordFromBitcoin.Conf
bitcoind.zmqpubrawblock=tcp://127.0.0.1:29000
bitcoind.zmqpubrawtx=tcp://127.0.0.1:29001
bitcoin.mainnet=true
rpcmiddleware.enable=true
db.bolt.auto-compact=true
alias=ChooseNodeName
3. If you don do everything correctly, LND fit start simply by writing
lnd for di console. But we go first create di systemctl service to use di provide sample file.
sudo nano /lib/systemd/system/lnd.service
Copy the following block inside lnd.service:
[Unit]
Description=Lightning Network Daemon
[Service]
ExecStart=/home/lightning/bin/lnd
ExecStop=/home/lightning/bin/lncli stop
[Install]
WantedBy=multi-user.target
Afterwards, run di following commands to take reload di daemon, enable di service and start am.
sudo systemctl daemon-reload
sudo systemctl enable lnd.service
sudo systemctl start lnd.service
4. The final step go involve you to create di wallet, after which go make you to use di lncli. Set a strong password if you wan choose password, di passphrase na optional, and make sure to back up di 24 words.
5. Verify say LND dey run correctly using di getinfo command. Keep in mind say you fit need to unlock your wallet first with
lncli unlock.
You go get di answer like dis, I don remove some lines from am, to keep am short:
{
"version": "0.18.5-beta commit=v0.18.5-beta",
"commit_hash": "4ccf4fc24c750d098cf24566ef4bbc0311c7d476",
"identity_pubkey": "03da538f07b1bafd88dbee79349ea567f391fc22c4aa65aa6772c880f7d94b2a4e",
"alias": "helloLightning",
"color": "#3399ff",
"num_pending_channels": 0,
"num_active_channels": 0,
"num_inactive_channels": 0,
"num_peers": 0,
"block_height": 895990,
"block_hash": "0000000000000000000099c27e6d08fa06abad3b04ceabdc34806511d17987e0",
"best_header_timestamp": "1746812177",
"synced_to_chain": false,
"synced_to_graph": false,
"testnet": false,
"chains": [
{
"chain": "bitcoin",
"network": "mainnet"
}
],
Congratulations! You don ready to use LND. Abeg refer to dis guide for more information:
https://docs.lightning.engineering/lightning-network-tools/lnd/first-steps-with-lnd.
Core LightningPrerequisites: Bitcoin Core.
1. Download di
latest version of di lightning and comot di files to di separate folder. At the time wey I dey write dis na v25.02.2 and we go use di folder locate for /home. As you don already learn how to comot files for di last parts of dis guide, plenty operations go be done for dis step. Additionally, libpq-dev must be instal to be able to run this implementation.
cd /home/lightning/
wget https://github.com/ElementsProject/lightning/releases/download/v25.02.2/clightning-v25.02.2-Ubuntu-24.04-amd64.tar.xz
tar -xvf clightning-v25.02.2-Ubuntu-24.04-amd64.tar.xz
sudo apt-get install libpq-dev libsodium-dev
2. To be able to call the lightningd and lightning-cli from anywhere, for this implementation we will create a symlink as it requires many libraries that come extracted with it.
ln -s /home/lightning/usr/bin/lightningd /home/lightning/bin
ln -s /home/lightning/usr/bin/lightning-cli /home/lightning/bin
3. You fit now conduct di test-run by invoking the command that follows. Freely exit with CTRL + C when you are ready.
cd /home/lightning/
lightningd --network=bitcoin --log-level=debug
4. Now add di configuration file so dat lightningd fit run for di background.
touch /home/lightning/.lightning/debug.log
nano /home/lightning/.lightning/config
daemon
log-file=/home/lightning/.lightning/debug.log
alias=HelloCoreLightning
5. Invoke lightningd to start your node.
6. Run di test to make sure say e dey work.
You suppose get di answer like dis:
{
"id": "yourID",
"alias": "HelloCoreLightning",
"color": "039622",
"num_peers": 0,
"num_pending_channels": 0,
"num_active_channels": 0,
"num_inactive_channels": 0,
"address": [
{
"type": "ipv4",
"address": "yourIP",
"port": 9735
},
{
"type": "ipv6",
"address": "yourIP",
"port": 9735
}
],
"binding": [
{
"type": "ipv6",
"address": "::",
"port": 9735
},
{
"type": "ipv4",
"address": "0.0.0.0",
"port": 9735
}
],
"version": "v25.02.1",
"blockheight": 896289,
"network": "bitcoin",
"fees_collected_msat": 0,
"lightning-dir": "/home/lightning/.lightning/bitcoin",
"warning_lightningd_sync": "Still loading latest blocks from bitcoind.",
"our_features": {
"init": "08a0880a8a59a1",
"node": "88a0880a8a59a1",
"channel": "",
"invoice": "02000002024100"
}
}
I don use minimal work configuration again, plenty plenty options dey available here:
https://docs.corelightning.org/docs/configuration.
Bonus: ThunderHubThunderHub na lightning node manager wey go let you manage your LND node through your browser, e no be lightning wallet. You fit only use am
if you don instal LND. Dis wan no be mandatory, and e also quite difficult.
Prerequisites: LND, NPM, NodeJS (Version 18 or higher), Git.
1. Check if your system get NPM and Node instal.
If any of dis or both of dis return command no dey, for dat case you go need to install wetin dey miss.
2. Install NPM and NodeJS and Git.
sudo apt install npm nodejs git
3. Verify your versions of NPM and Nod to use di commands from step 1.
4. Download ThunderHub, install am, do di test run.
git clone https://github.com/apotdevin/thunderhub.git /home/lightning/thunderhub/
cd /home/lightning/thunderhub
npm install
npm run build
5. Create di symbolic link from inside thunderhub to your .lnd folder and verify say e dey dere.
ln -s /home/lightning/.lnd /home/thunderhub/.lnd
ls -la
Inside di output of di second command you suppose see di line like dis:
.lnd -> /home/lightning/.lnd
6. Prepare di environment variables. First we go copy di file and den edit am and use nano.
cp /home/lightning/thunderhub/.env /home/lightning/thunderhub/.env.local
nano .env.local
You fit write di following lines for di beginning of di file. Keep for mind say lines wey start with # dey commented for purpose, ignore dem.
LOG_LEVEL='debug'
NODE_ENV=production
PORT=3010
ACCOUNT_CONFIG_PATH = '/home/lightning/thunderhub/thubConfig.yaml'
7. Create di YAML account where you go define di account information. The bold field, password, na be di one you go set. Di underlined fields, serverUrl, macaroonPath, certificatePath, dem no need to be change if you don follow my guide. If you don instal LND somewhere else, just locate di correct paths and adjust dis part of di configuration.
nano /home/lightning/thunderhub/thubConfig.yaml
masterPassword: 'PASSWORD' # Default password unless defined for account
accounts:
- name: 'MyThunderHub'
serverUrl: '127.0.0.1:10009'
macaroonPath: '/home/lightning/thunderhub/.lnd/data/chain/bitcoin/mainnet/admin.macaroon'
certificatePath: '/home/lightning/thunderhub/.lnd/tls.cert'
password: 'passwordHere'
8. Start di ThunderHub to check if e dey work properly.
cd /home/lightning/thunderhub
npm run start:prod
If e dey work, you suppose see output wey get stuff like dis:
{
message: 'Connected to helloLightning(ID)BTC',
level: 'info',
timestamp: 'date-time-here'
}
Na so e be. If e dey work, you fit open di browser and move to 127.0.0.1:3010 to check am out. You fit exit am to pressing CTRL + C.
9. For di last step, create di systemctl service so dat ThunderHub go startsl automatically and for di background.
sudo nano /etc/systemd/system/thunderhub.service
Paste all di following:
[Unit]
Description=Thunderhub
Wants=lnd.service
After=network.target lnd.service
[Service]
WorkingDirectory=/home/lightning/hunderhub/thunderhub
ExecStart=/usr/bin/npm run start:prod
[Install]
WantedBy=multi-user.target
Reload systemctl, enable and start di service.
sudo systemctl daemon-reload
sudo systemctl enable thunderhub.service
sudo systemctl start thunderhub.service
Disclaimer: dis guide na for people wey decide instal lightening to provide help for dem. Abeg I no dey responsible for any wahala wey fit lead you to lose any amount of Bitcoin because of dis. Na you be your own bank, na you dey responsible for any losses wey happen.