Run your own Lightning node

Self-hosted node for bitcoin-blake2b, controlled from the app

Before downloading: get the installer only from this page (domain btcblake2b.org) or from the official GitHub repository.

Download installer (GitHub Releases)

Release v0.4.0 — package tlw-node-installer-0.4.0.tar.gz, with SHA256SUMS covering the package and the bridge binary.

Verify the checksum (SHA-256)

The file tlw-node-installer-0.4.0.tar.gz must have this hash:

SHA256(tlw-node-installer-0.4.0.tar.gz) = 0e312b98ca44d23f842023dcd53e0c40977cccf82736a88732b4f99da8dbf465

Verify on Linux

sha256sum tlw-node-installer-0.4.0.tar.gz

Verify on Windows (PowerShell)

Get-FileHash .\tlw-node-installer-0.4.0.tar.gz -Algorithm SHA256

Install (3 commands)

tar -xzf tlw-node-installer-0.4.0.tar.gz
cd tlw-node-installer-0.4.0
./install.sh --bitcoind-rpc rpcuser:[email protected]:8332

Run it as your regular user: sudo is never required.

At the end the installer prints the connection string (NWC/NCC URI) — see “Connect the app” below for where to find it and a format example.

Requirements

Lightning means running a real node: the installer sets everything up for you, but the machine and the full node must already be there.

Connect the app (NWC/NCC)

To control the node from the app you need the connection string (NWC URI): the installer prints it at the end and stores it on the server.

cat ~/bridge/uri.txt

Paste it in the app under Lightning → Connect. Format example (fake values):

nostr+walletconnect://<bridge-pubkey-64-hex>?relay=wss://relay.primal.net&secret=<64-hex>

The string contains a personal authorization secret: treat it like a password and never share it. Authorize another device with ./install.sh --gen-uri; revoke a lost one with ./install.sh --revoke-client <pubkey>.

Being reachable by other peers (optional, Tor)

Channels and payments do not need an inbound address: your node connects outbound to the peers it can reach. An inbound address matters only if you want other nodes to be able to connect to you — useful when testing with the community.

Tor is enough: no open ports, no public IP, no router changes. Create a hidden service (one sudo step):

sudo mkdir -p /var/lib/tor/cln-hs && sudo chown debian-tor:debian-tor /var/lib/tor/cln-hs
printf 'HiddenServiceDir /var/lib/tor/cln-hs\nHiddenServicePort 9735 127.0.0.1:9735\n' | sudo tee -a /etc/tor/torrc
sudo systemctl restart tor && sudo cat /var/lib/tor/cln-hs/hostname

Then add these lines to ~/.lightning/config (with the address printed by the last command) and restart lightningd:

proxy=127.0.0.1:9050
announce-addr=<your-address>.onion:9735
bind-addr=0.0.0.0:9735

⚠️ bind-addr is not optional: with announce-addr alone, lightningd stops listening on port 9735 and binds to 19735 instead — the hidden service would then have nothing to forward to and outside connections are refused.

Test node of this project (announced on Tor):

mxesrfjokenxcmukvbltm3k6ewbj2v3wsjkt3ip56ckga2equiujsfad.onion:9735

What the installer does

Security & trust

⚠️ Important notice — This is an experimental network. The node software is provided without warranty under the MIT license: use it only after understanding the risks and verifying the integrity of the package.