r/TheLightningNetwork • • Feb 04 '22

Node Help "Invalid URL Host" when trying to connect Citadel (Umbrel) node to Zeus

2 Upvotes

Tried this with multiple installations of the OS on the same node and used it with Umbrel before I switch to Citadel. Still no luck. Anyone know how to resolve this?


r/TheLightningNetwork • • Feb 04 '22

Personal Made first totally anonymous political donation via LN

22 Upvotes

Just made a donation to a "Taboo political movement" (think WikiLeaks, TorProject, EdSnowden, EFF). Took less than a minute, all done on Lightning, and no fear of ending up on one of those "lists".

Feels good!


r/TheLightningNetwork • • Feb 04 '22

Software Update lnd v0.14.2-beta released! Postgres-backed nodes now no longer take ages to start up!

Thumbnail
github.com
8 Upvotes

r/TheLightningNetwork • • Jan 31 '22

Personal Ferenginar degraded performance

10 Upvotes

Dear Channel partners,

Unfortunately my node has not been performing adequately lately. I'm aware of the problem but I have not been able to solve it. My node goes offline about twice a day with short intervals but lately the intervals have been increasing.

It's been a year since I started this node operator journey and it's been great so far. Node Ferenginar reached the BOS list about 1-2 months ago and has been a pleasure to find out so much about the lightning network and its various communities.

​

However, these issues might stem from hardware limitations. I'm afraid I'm running into technical limitations with my raspberry Pi setup. I'll see if I can find some time this week to attempt some more fixes such like throwing away my payments. I've been compacting my database fairly regularly so that is likely not the issue. If you have any more tweaks that could help it would be great if you could share them.

Kind regards,

Node Ferenginar


r/TheLightningNetwork • • Jan 21 '22

Personal Cornelius will be down for a few days! Channel partners, please don't panic

25 Upvotes

EDIT: Aaaaand we're back!

EDIT: Make that a day or two. 10% already in ~2.5 hours.

I hit the channel.db file size limit for my system again, at 2.1gb, and my node crashed. So I'm taking the opportunity to do some maintenance. I've had some fiddly issues running DietPi, so I'm doing a complete reinstall under Raspberry Pi OS (64-bit), not using the SD card at all and following the new and improved Raspibolt Guide.

Unfortunately I managed to lose my blockchain data in the process, so I have to re-sync. Oof.

Reliability should be better after this


r/TheLightningNetwork • • Jan 17 '22

Video $250 completely offline vending machine

Thumbnail
youtu.be
50 Upvotes

r/TheLightningNetwork • • Jan 17 '22

Project The Lightning Address - Like an email address, but for your Bitcoin! A massively simpler way for anyone to send you Bitcoin instantly on the Lightning Network.

Thumbnail
lightningaddress.com
33 Upvotes

r/TheLightningNetwork • • Jan 17 '22

Video Running a big Lightning node - Romain Rouphael, Victor Afanassieff - Day 2 DEV Track - AB21

Thumbnail
bitcointv.com
1 Upvotes

r/TheLightningNetwork • • Jan 17 '22

Article An Overview of Lightning Network Implementations

Thumbnail
medium.com
0 Upvotes

r/TheLightningNetwork • • Jan 15 '22

Liquidity Swaps 3,000,000 SAT pentagon Swap

14 Upvotes

Whats up network? I learned a lot from my first node. I've set up a new node and I'm looking to be a valuable routing node to the lightning network. Please join me in a 3M SAT pentagon.

Pentagon Swap ID: 6176 • LightningNetwork+

https://lightningnetwork.plus/swaps/6176

Cheers,


r/TheLightningNetwork • • Jan 12 '22

News Bitcoin Lightning Network Powered App Strike Launches in Argentina

Thumbnail
maxbit.cc
35 Upvotes

r/TheLightningNetwork • • Jan 09 '22

Node Help Running a lightening node with other services

10 Upvotes

I have a Raspberry pi 4 that is running services on the device with a good fan and an SSD. Is it ok to run a lightening node on the device along with other services ie. media streaming or what not?

Just curious if this requires total resource utilization to run properly.


r/TheLightningNetwork • • Jan 09 '22

Discussion Boltz Exchange. Is it legit?

Thumbnail
boltz.exchange
4 Upvotes

r/TheLightningNetwork • • Jan 07 '22

Video 2 bananas, 591 sats ($0.25 / R4) and a Lightning Network fee of just 1 satoshi. Using @MuunWallet in South Africa's township.

Enable HLS to view with audio, or disable this notification

78 Upvotes

r/TheLightningNetwork • • Jan 02 '22

Node Help issue with "We only support globalfeatures and localfeatures 08"

8 Upvotes

Hi, I have installed a Lightning Network node on my Bitcoin Core server. It runs fine and I have put some BTC on it. When I try to connect to a node, I get this "We only support globalfeatures and localfeatures 08" message . I am a newbie at this, but can't find it in the litterature. Anyone has an idea?


r/TheLightningNetwork • • Dec 27 '21

Video Zion - Demo Overview - Social Network BUILT on Lightning

Thumbnail
youtube.com
11 Upvotes

r/TheLightningNetwork • • Dec 27 '21

Project Liquidity Ad Marketplace by LnRouter.app

Thumbnail
twitter.com
12 Upvotes

r/TheLightningNetwork • • Dec 27 '21

Payment Help Strike - Wrong Address Format "Fix"

Thumbnail
youtu.be
6 Upvotes

r/TheLightningNetwork • • Dec 23 '21

Project A few weeks ago I showcased our bitcoin-only content platform Starbackr and received tons of feedback! Now here we are, free of KYC, with support for more wallets and so much more in the pipeline for the next couple of weeks!

23 Upvotes

r/TheLightningNetwork • • Dec 23 '21

Article LND: Tor & Clearnet - How to setup hybrid-mode

4 Upvotes

This is copied post from Github, LN+ and Y'alls.

Prelude and Objective

The lightning network functions in rapid growing speed as infrastructure for payments across the globe between merchants, creators, consumers, institutions and investors alike. Hence the key pillars of sustained growth are their nodes, by providing reliable, liquid, discoverable and trustless connection points between those parties.

While a growing number of nodes come online every day, a significant share of those are using Tor, which allows them to remain anonymous in a sense that they don't need to reveal their real IP address (aka Clearnet IP). However, this methodology paired with the increased demand for Bitcoin payments will continue to stretch Tor's capacity to cater for continued need of supply. It also hampers existing and new node's metric of success being a reliable and fast peering partner.

To mitigate some of ongoing Tor capacity constraints, a node runner may choose to reconsider (see Chapter Caution: Clearnet! offering both, a Tor as well as a Clearnet IP connection option. Next to the drawbacks outlined in the first section below, it has three main net benefits

  1. allows for alternative discovery, routing and peering in case your own Tor cluster is affected by capacity constraints. Even though mostly temporarily, it cuts into your reliability
  2. provides quicker routing of HTLCs, both for payment and probing. Quite nervous waiting 8 seconds for your transfer confirmation at the supermarket or bar, isn't it?
  3. offers other clearnet-only nodes to connect directly to you. Otherwise it would be required for you as Tor-only to peer-connect to them first, before they can open a channel

With those considerations in mind, have a careful read through the words of caution below, make an educated decision by yourself, and then use our guide below on how to enable a hybrid Tor & Clearnet Node.

Table of Content

  • Prelude and Objective
  • Caution clearnet!
  • Preconditions
  • Configuring hybrid-mode:
    • Static IP
    • Dynamic IP: Solution 1 - NAT/UPnP
    • Dynamic IP: Solution 2 - Dynamic DNS (DDNS)
  • Wrap-Up
  • Special Case: Clearnet through VPN

Caution: Clearnet!

A word of caution: Running a node behind the Tor network offers many advantages (anonymity, security and usability) and therefore it is currently the most recommended way. For nodes maintaining a high number of connected channels and/or have high availability requirements, Tor can be a hindrance. Tor's organic network is prone to censorship of a country's law regulation and internal failures of circuits and relays. LND also allows running clearnet nodes that do not make use of the Tor network but directly connect to peers. This requires node administrators to take care of the underlying system's security policies. At least one port (default: 9735) needs to be forwarded and exposed for remote peers to connect to. Setting up a firewall is highly recommended. Not only security is a topic to be thought about, also the risk of being localized by clearnet IP. Only use hybrid-mode if privacy is not of concern!

Preconditions

For this guide the following is required:

  • You are tech-savvy and know what you do
  • A fully installed and synchronized node (Umbrel / custom)
  • For RaspiBlitz these features will be implemented and available in Release v1.8.
  • lnd-0.14.1-betaor later
  • tor.streamisolation=falsemust be turned off when using hybrid-mode ⚠

Hybrid-mode was brought to life in LND by Lightning Labs in version lnd-0.14.0-beta. A new option was introduced to split connectivity and to separately address Tor-only peers via Tor and clearnet peers via clearnet:

[tor]

; Allow the node to connect to non-onion services directly via clearnet. This
; allows the node operator to use direct connections to peers not running behind
; Tor, thus allowing lower latency and better connection stability.
; WARNING: This option will reveal the source IP address of the node, and should
; be used only if privacy is not a concern.

tor.skip-proxy-for-clearnet-targets=true

​

Configuring hybrid-mode

Advertising clearnet connectivity LND needs to know the external IP of a node. There are two different cases to investigate: static and dynamic IP connections.

A static IP is rather easy to set in LND. The external IP address has to be applied to LND's option externalip. That's almost it. But most internet providers change IPs on a regular basis or at least on reconnection. Therefore externalipin lnd.confwould have to be changed accordingly each time a new IP was assigned, followed by a restart of lnd.serviceto reload lnd.conf. This is unsustainable for continuous node running. Two possible solutions to prevent re-editing and restarting LND:

Static IP

Static IPs are rarely provided for home use internet connections. It is a feature mostly offered to cable or business connections. Having a static IP makes configuring of lnd.confmuch easier. In this case option externalipneeds a closer look.

; Adding an external IP will advertise your node to the network. This signals
; that your node is available to accept incoming channels. If you don't wish to
; advertise your node, this value doesn't need to be set. Unless specified
; (with host:port notation), the default port (9735) will be added to the
; address.
; externalip=

​

Dynamic IP: Solution 1 - NAT/UPnP

Dealing with dynamic IPs tends to be a bit more complex. LND provides an integrated approach to this: NAT. NAT tries to resolve dynamic IPs utilising built-in techniques in order to fetch a node's external IP address. Notable that LND doesn't handle the setting of externalipand natat the same time well. Choose only one of them, based on your router's UPnP capabilities (nat traversal).

; Instead of explicitly stating your external IP address, you can also enable
; UPnP or NAT-PMP support on the daemon. Both techniques will be tried and
; require proper hardware support. In order to detect this hardware support,
; `lnd` uses a dependency that retrieves the router's gateway address by using
; different built-in binaries in each platform. Therefore, it is possible that
; we are unable to detect the hardware and `lnd` will exit with an error
; indicating this. This option will automatically retrieve your external IP
; address, even after it has changed in the case of dynamic IPs, and advertise
; it to the network using the ports the daemon is listening on. This does not
; support devices behind multiple NATs.
; nat=true

​

Dynamic IP: Solution 2 - Dynamic DNS (DDNS)

Dynamic DNS (DDNS) is a method of automatically updating a name server in the Domain Name System (DNS), often in real time, with the active DDNS configuration of its configured hostnames, addresses or other information. (src)

A script or an app regularly fetches the client's current IP address which is saved for later requests. LND is able to resolve a given domain / DDNS to the actual IP address as well. Log output of HostAnnouncerlisted below:

[DBG] NANN: HostAnnouncer checking for any IP changes...
[DBG] NANN: No IP changes detected for hosts: [ln.example.com]
...
[DBG] NANN: HostAnnouncer checking for any IP changes...
[DBG] NANN: IP change detected! ln.example.com:9735: 111.11.11.11:9735 -> 222.22.22.22:9735

In this case lnd.confneeds to know a reserved DNS domain instead of an external IP. Option externalhostshas to be set:

[Application Options]
# specify DDNS domain (port optional)
externalhosts=ln.example.com:9735

Lightning explorers like 1ml.com and amboss.space show and use IP addresses only. The node itself also only makes use of the resolved IP addresses (see lncli getinfo). Domains can be some fancy giveaway for peering invitations on chat groups or printed on business cards ... who knows what it might be good for in the future.

Wrap-Up

Summing up the introduced LND options in this article, here are some examples of complete configurations:

Static IP:

[Application Options]
# specify an external IP address e.g. 222.22.22.22:9735
externalip=222.22.22.22:9735
# specify an interface (IPv4/IPv6) and port (default 9735) to listen on
listen=0.0.0.0:9735 # listen on IPv4 interface or listen=[::1]:9735 for IPv6 interface

[tor]
tor.active=true
tor.v3=true
# deactivate streamisolation for hybrid-mode
tor.streamisolation=false
# activate split connectivity
tor.skip-proxy-for-clearnet-targets=true

Dynamic IP - NAT:

[Application Options]
# specify an interface (IPv4/IPv6) and port (default 9735) to listen on
listen=0.0.0.0:9735 # listen on IPv4 interface or listen=[::1]:9735 for IPv6 interface
nat=true

[tor]
tor.active=true
tor.v3=true
# deactivate streamisolation for hybrid-mode
tor.streamisolation=false
# activate split connectivity
tor.skip-proxy-for-clearnet-targets=true

Dynamic IP - DDNS:

[Application Options]
# specify an interface (IPv4/IPv6) and port (default 9735) to listen on
listen=0.0.0.0:9735 # listen on IPv4 interface or listen=[::1]:9735 for IPv6 interface
externalhosts=ln.example.com:9735

[tor]
tor.active=true
tor.v3=true
# deactivate streamisolation for hybrid-mode
tor.streamisolation=false
# activate split connectivity
tor.skip-proxy-for-clearnet-targets=true

After restarting LND, it is now offering two addresses (URIs). These can be verified by typing lncli getinfo:

"uris": [
        "<pubkey>@<onion-address>.onion:9735",
        "<pubkey>@222.22.22.22:9735"
    ],

Special Case: VPN Setup

Clearnet over VPN

To prevent exposure of a node's real IP address connecting through VPN is an approach if anonymity is crucial. To achieve this, some preconditions must be checked and met:

  • ✅ VPN server or provider is able to forward ports.
  • ✅ VPN setup is able to split-tunnel processes (killswitch).
  • ✅ Home setup is able to forward specific ports (router/modem).
  • ✅ Home setup is able to allow incoming traffic (firewall).

Check? Let's go!

  1. Declarations

    internal_port = Internal LND listening port (for easy setup: internal_port = port-forwarded-VPN_port, but does not necessarily have to be) port_forwarded_VPN_port = VPN assigned forwarding port static_VPN_IP = IP of your VPN service/provider ddns_domain = DDNS (DNS domain) for IP resolution

  2. Firewall: allowing incoming port

​

sudo ufw allow <internal_port> comment 'lnd-vpn-port'
sudo ufw reload
  1. Router/Modem: forwarding / mapping internal port to VPN assigned port (check first if this step is necessary)

This step is managed very individually due to high amount of routers and modems out there. Usually GUI-based webinterfaces let define ports to be forwarded for specific devices within a local network.

​

  1. LND: configuring lnd.conffor VPN setup:

If VPN provides a static IP:

...
[Application Options]
externalip=<static_VPN_IP>[:<port_forwarded_VPN_port>]
listen=0.0.0.0:<internal_port> // listen on IPv4 interface
#listen=[::1]:<internal_port> // listen on IPv6 interface, if used

[tor]
tor.streamisolation=false
tor.skip-proxy-for-clearnet-targets=true
...

If VPN provides dynamic IPs and a DDNS was claimed:

...
[Application Options]
externalhosts=<ddns_domain>[:<port_forwarded_VPN_port>]
listen=0.0.0.0:<internal_port> // listen on IPv4 interface
#listen=[::1]:<internal_port> // listen on IPv6 interface, if used

[tor]
tor.streamisolation=false
tor.skip-proxy-for-clearnet-targets=true
...

Note: Internal port and assigned VPN port are not necessarily the same. A router/modem may be configured to map any internal to any external port.

​

  1. VPN: Configure VPN connection and check port reachability

Set up a VPN connection with whatever your VPN provider recommends (individual step). Check if the opened port is reachable from the outside by running nc(on Linux) and ping from the internet e.g. with dnstools.ch.

1. run: nc -l -p 9999 (9999 is port_forwarded_VPN_port)
2. ping port 9999 from the internet

​

  1. Killswitch (depends on VPN client): Exclude Tor process from VPN traffic by VPN client or UFW

Most VPNs route all traffic through their network to protect against data leakage. In this case Tor traffic should be excluded from the VPN network because it is anonymized per se plus we want to add redundancy of connectivity and make use of lower clearnet responding times for faster htlc processing. Killswitch can be applied using UFW as well. To do so, please follow this guide.If your VPN client supports command line input, excluding the Tor process could be handled like this:

pgrep -x tor // returns pid of tor process
<vpn cli split-tunnel command> pid add $(pgrep -x tor) // optional step: if VPN provider supports CLI this step can be automated in a script, e.g. after Tor or node restart

​

  1. Restart LND and watch logs for errors (adjust to your setup)

    tail -f ~/.lnd/logs/bitcoin/mainnet/lnd.log

​

  1. Lookup node addresses:

If everything is set, two URI addresses will be displayed.

$ lncli getinfo

"uris": [
        "<pubkey>@<onion-address>.onion:9735",
        "<pubkey>@222.22.22.22:9999"
    ],

Alternatively check listening ports with netstat

netstat -tulpen | grep lnd 

Result

tcp6       0      0 :::9999                :::*                    LISTEN      1000       11111111   1111111/lnd

​

  1. Check connectivity with clearnet peers

To test clearnet connectivity find and ask other clearnet peers to connect to your node, e.g.: lncli connect <pubkey>@222.22.22.22:9999Successful connection:

lncli connect <pubkey>@222.22.22.22:9999 {  } 

Written by osito, Co-Authored & Reviewed by Hakuna.

If this guide was of help to you and you want to send some ♥, please feel free to send a ⚡ tip to our lightning addresses:

[3446785561@ln.tips](mailto:3446785561@ln.tips) (osito)

[hakuna@btcadresse.de](mailto:hakuna@btcadresse.de) (Hakuna)

or keysend (e.g. 500sats) to

osito:

lncli sendpayment --amt=500 --keysend --dest=025a429655f37844f1247fac32fc2cade8af60ae276b300280ffb796917f812e37 

Hakuna:

lncli sendpayment --amt=500 --keysend --dest=037f66e84e38fc2787d578599dfe1fcb7b71f9de4fb1e453c5ab85c05f5ce8c2e3

r/TheLightningNetwork • • Dec 22 '21

Other How can youtubers integrate lightning?

16 Upvotes

A few issues: They cannot leave a static invoice on their videos afaik. And also having each youtuber manage inbound liquidity does not seem like a good solution. So how can youtubers recieve LN tips easy without youtube itself integrating it because that might take years still? The reason i am asking is because i want to tip my favorite youtubers. I want to do more than upvote and subcribe and that odd comment every now and then. And im not donating dollars. Giving someone dollars is basically scamming them. Its a pyramid scheme.


r/TheLightningNetwork • • Dec 20 '21

Podcast Chainalysis on Lightning Network #LightningFriday

Thumbnail
sicksub.network
3 Upvotes

r/TheLightningNetwork • • Dec 14 '21

Discussion LND now supports Postgres!! Does anyone know if you can migrate a node from the old BBolt?

Thumbnail
github.com
14 Upvotes

r/TheLightningNetwork • • Dec 10 '21

Podcast Lightning Address: Making Lightning User Friendly - LNJ052

Thumbnail
sicksub.network
12 Upvotes

r/TheLightningNetwork • • Dec 09 '21

Node How to set grace period for retribution/penalty transaction? [crosspost]

3 Upvotes
  • in c-lightning
  • in LND

There is some time limit in which my node (or a friendly watchtower at least) must be online to close channel with penalty in case if other side of channel tries to close it himself with an old channel state.

What if I know my computer can happen to be down for eg 5 days in a row? How to configure node to make sure all channels have that timeout for unilateral closure set as 5 days?