How to open lightning network channel to a selected node in Electrum?

Electrum (version 4.1.2) Open Channel dialog only contains a dropdown "Trampoline" with predefined entries. How a new channel can be opened to a specific node?

Electrum Open Channel Dialog

lightning network – Reusing LN invoices or generating them for someone else

I am working on an LN App that can be thought of similar as an address book, where people can save something (I’m coming to that in a sec) associated to their handle and others can look up a person in that address book and send them sats over Lightning.

Now I am wondering how to implement that. In an on-chain App I would just store BTC addresses and generate QR codes containing those addresses to display to tippers.

In the world of Lightning though, afaik there is no such thing as a receiving address and to receive, the recipient has to create a fresh and time-constrained invoice every time, is this correct? Or does (as an alternative to invoices) a thing as a ‘receiving address’ exist?

I also thought of having users generate an invoice once and save & display that over and over, but they’re only usable a single time, correct?

So is there currently any way to implement what I am trying to do or is it impossible due to the nature of how LN invoices and transactions work?

I want to make sure that I understood everything correctly, and in that case my fallback idea would be: If my server receives a tip request, it will notify the receiver e.g. via a messenger or so, have them send back a LN invoice and then forward that to the tipper to pay. This would be my fallback idea in case the receiver basically has to initiate the process of actually being tipped every time.

privacy – Can lightning transaction participants link the transaction to on-chain funding transaction UTXOs?

Let us start with the direct payment via channel Uab. According to BOLT 02, the payment is conducted by adding an HTLC and settling it. From a protocol perspective, Bob does not know if the payment was originated by Alice. Of course, as there was originally an invoice issued by Bob (and potentially presented out-of-band to Alice), he could deduce that Alice was the payer, but Alice might have forwarded the invoice to someone else who later routed through Alice. Thus, Bob cannot tell with certainty who paid him. All he knows is that he got money from Alice.

In that specific setting, Alice can however be sure that Bob is the one receiving the money as Bob issued the invoice. Invoices are signed by the private key corresponding to the node id, so Alice knows that Bob has requested the payment. Of course, Bob might have been a proxy in the sense that he issued an invoice with the same payment hash as someone else. In that case, Bob might have routed the payment before he was able to present the preimage. Such behavior would be impossible to distinguish for Alice.

Similarly, in the Alice-Isidore-Bob setting: Isidore only knows that Alice sent him money and that he was asked to forward to Bob. Isidore does not know if Alice is the originator nor if Bob is the final destination (this of course assumes the protocol is secure and no attacks exist that reveal such information). Like before, Bob only knows that the payment came through the channel Uib, but cannot tell with certainty who paid him.

In the Alice-Isidore-Bob setting, Alice is aware of all funding transactions as she chose the route and the route is encoded with short_channel_ids which point to funding transactions. Alice will most likely have learnt about them via the gossip protocol.

dnd 5e – Does Lightning Lure pull a creature toward you regardless of other circumstances?

Lightning Lure pulls a creature toward you:

You create a lash of lightning energy that strikes at one creature of
your choice that you can see within range. The target must succeed on
a Strength saving throw or be pulled up to 10 feet in a straight line
toward you and then take 1d8 lightning damage if it is within 5 feet
of you. (Sword Coast Adventurer’s Guide, p. 143)

Does lightning lure pull a creature toward you regardless of other circumstances?

For instance, if you’re chained by the wrist to an immovable object, does lightning lure pull until something gives, perhaps your wrist?

My own thinking is that the RAW does not address anything like this, so it is up to the GM’s judgement.

I would like to know if this is a reasonable interpretation or alternatively, what might be a reasonable ruling.

lightning network – What if all transactions are off-chain in Bitcoin?

As we know, there are several off-chain solutions called payment channels in Bitcoin. The users can move off-chain their transactions and maintain a local ledger themselves. They only need to turn to the global chain when a dispute happens or some channel is exhausted. And moreover, the payment network can organize the payment channels together so that users with no direct channels can also perform off-chain payment. The network also brings the opportunity to recover the exhausted channels with off-chain method by adjusting the balance among the channels.
So I have the following questions:
(1) Is it possible to move all transactions off-chain? I think it is possible for the following reasons. Firstly, no one will cheat from the perspective of game theory, so no dispute will happen. Secondly, no channel will exhaust with the off-chain recovering method.
(2) If not, what prevents it from happenning?
(3) If it is possible, what if all transactions move off-chain? I can imagine that if no transactions are on the blockchain, the the blockchain will disappear even when it is still exists. We no longer need to maintain it. Then what it brings to this world?

lightning network – Payment failed WIRE_TEMPORARY_CHANNEL_FAILURE

I have set up a c-lightning server, funded it, and opened two channels to relatively big nodes 1ML.com node ALPHA and Milky Way.

When I want to send a transaction of 5000 sats to my BlueWallet, the payment fails. getroute shows a route to their node with one hop. All channels are in state CHANNELD_NORMAL.

I have enough funds on my side of the channel.

Does somebody have an idea what the issue could be?

lcli pay lnbc50u1psxnf0fpp52qmdcp6g9nas6l8k4gedrnmymwjnzkuvkwkuu5ce93lpk9pxhmpqdpyd3hx7er99eek2anndakzucm0d5s8getnwsescqzpgxqyz5vqsp5l9x9j4n4lfw4g572dze3k5u5vnc6nad8nleqxqh73s4epala34eq9qyyssqzzvgxlct84zlu6zl0csdmw9tfxmds5a6a58s7czpncha5tcn3nknuukf0xv5p82tkefeu4m7dcz37944gg60da4ad0x9s4juxda4qssq04uc25
{
   "code": 210,
   "message": "Ran out of routes to try after 100 attempts: see `paystatus`",
   "attempts": (
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 1,
         "amount": "5000000msat"
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 2,
         "amount": "5000000msat",
         "parent_partid": 1
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 3,
         "amount": "5000000msat",
         "parent_partid": 2
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 4,
         "amount": "5000000msat",
         "parent_partid": 3
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 5,
         "amount": "5000000msat",
         "parent_partid": 4
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 6,
         "amount": "5000000msat",
         "parent_partid": 5
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 7,
         "amount": "5000000msat",
         "parent_partid": 6
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 8,
         "amount": "5000000msat",
         "parent_partid": 7
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 9,
         "amount": "5000000msat",
         "parent_partid": 8
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 10,
         "amount": "5000000msat",
         "parent_partid": 9
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 11,
         "amount": "5000000msat",
         "parent_partid": 10
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 12,
         "amount": "2295508msat",
         "parent_partid": 11
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 14,
         "amount": "1078812msat",
         "parent_partid": 12
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 98,
         "amount": "1078812msat",
         "parent_partid": 14
      },
      {
         "status": "failed",
         "failreason": "Cannot split payment any further without exceeding the maximum number of HTLCs allowed by our channels",
         "partid": 99,
         "amount": "523636msat",
         "parent_partid": 98
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 100,
         "amount": "555176msat",
         "parent_partid": 98
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 15,
         "amount": "1216696msat",
         "parent_partid": 12
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 5057msat > 2868msat, discarding route",
         "partid": 18,
         "amount": "573731msat",
         "parent_partid": 15
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 3031msat > 1575msat, discarding route",
         "partid": 24,
         "amount": "315208msat",
         "parent_partid": 18
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 147361msat > 716msat, discarding route",
         "partid": 36,
         "amount": "143361msat",
         "parent_partid": 24
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 48,
         "amount": "65717msat",
         "parent_partid": 36
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 49,
         "amount": "77644msat",
         "parent_partid": 36
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 37,
         "amount": "171847msat",
         "parent_partid": 24
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 72,
         "amount": "89575msat",
         "parent_partid": 37
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 73,
         "amount": "82272msat",
         "parent_partid": 37
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 2799msat > 1293msat, discarding route",
         "partid": 25,
         "amount": "258523msat",
         "parent_partid": 18
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 141245msat > 682msat, discarding route",
         "partid": 28,
         "amount": "136507msat",
         "parent_partid": 25
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 50,
         "amount": "63875msat",
         "parent_partid": 28
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 51,
         "amount": "72632msat",
         "parent_partid": 28
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 127039msat > 611msat, discarding route",
         "partid": 29,
         "amount": "122016msat",
         "parent_partid": 25
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 52,
         "amount": "66118msat",
         "parent_partid": 29
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 53,
         "amount": "55898msat",
         "parent_partid": 29
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 19,
         "amount": "642965msat",
         "parent_partid": 15
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 3082msat > 1714msat, discarding route",
         "partid": 30,
         "amount": "342781msat",
         "parent_partid": 19
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 38,
         "amount": "170631msat",
         "parent_partid": 30
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 74,
         "amount": "93458msat",
         "parent_partid": 38
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 75,
         "amount": "77173msat",
         "parent_partid": 38
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 7192msat > 861msat, discarding route",
         "partid": 39,
         "amount": "172150msat",
         "parent_partid": 30
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 54,
         "amount": "91125msat",
         "parent_partid": 39
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 55,
         "amount": "81025msat",
         "parent_partid": 39
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 8247msat > 1502msat, discarding route",
         "partid": 31,
         "amount": "300184msat",
         "parent_partid": 19
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 56,
         "amount": "163580msat",
         "parent_partid": 31
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 88,
         "amount": "78772msat",
         "parent_partid": 56
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 89,
         "amount": "84808msat",
         "parent_partid": 56
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 57,
         "amount": "136604msat",
         "parent_partid": 31
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 76,
         "amount": "68856msat",
         "parent_partid": 57
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 77,
         "amount": "67748msat",
         "parent_partid": 57
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 13,
         "amount": "2704492msat",
         "parent_partid": 11
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 16,
         "amount": "1402488msat",
         "parent_partid": 13
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 20,
         "amount": "693875msat",
         "parent_partid": 16
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 3926msat > 1829msat, discarding route",
         "partid": 32,
         "amount": "365974msat",
         "parent_partid": 20
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 16891msat > 882msat, discarding route",
         "partid": 40,
         "amount": "176497msat",
         "parent_partid": 32
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 58,
         "amount": "85403msat",
         "parent_partid": 40
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 59,
         "amount": "91094msat",
         "parent_partid": 40
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 17951msat > 947msat, discarding route",
         "partid": 41,
         "amount": "189477msat",
         "parent_partid": 32
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 60,
         "amount": "86062msat",
         "parent_partid": 41
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 61,
         "amount": "103415msat",
         "parent_partid": 41
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 90,
         "amount": "55455msat",
         "parent_partid": 61
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 91,
         "amount": "47960msat",
         "parent_partid": 61
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 33,
         "amount": "327901msat",
         "parent_partid": 20
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 62,
         "amount": "161542msat",
         "parent_partid": 33
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 92,
         "amount": "83183msat",
         "parent_partid": 62
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 93,
         "amount": "78359msat",
         "parent_partid": 62
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 63,
         "amount": "166359msat",
         "parent_partid": 33
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 78,
         "amount": "83156msat",
         "parent_partid": 63
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 79,
         "amount": "83203msat",
         "parent_partid": 63
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 5102msat > 3543msat, discarding route",
         "partid": 21,
         "amount": "708613msat",
         "parent_partid": 16
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 4064msat > 1878msat, discarding route",
         "partid": 26,
         "amount": "375624msat",
         "parent_partid": 21
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 42,
         "amount": "170390msat",
         "parent_partid": 26
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 80,
         "amount": "78649msat",
         "parent_partid": 42
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 81,
         "amount": "91741msat",
         "parent_partid": 42
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 43,
         "amount": "205234msat",
         "parent_partid": 26
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 82,
         "amount": "108866msat",
         "parent_partid": 43
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 94,
         "amount": "56177msat",
         "parent_partid": 82
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 95,
         "amount": "52689msat",
         "parent_partid": 82
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 83,
         "amount": "96368msat",
         "parent_partid": 43
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 3921msat > 1665msat, discarding route",
         "partid": 27,
         "amount": "332989msat",
         "parent_partid": 21
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 164539msat > 806msat, discarding route",
         "partid": 44,
         "amount": "161213msat",
         "parent_partid": 27
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 64,
         "amount": "73790msat",
         "parent_partid": 44
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 65,
         "amount": "87423msat",
         "parent_partid": 44
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 45,
         "amount": "171776msat",
         "parent_partid": 27
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 84,
         "amount": "94093msat",
         "parent_partid": 45
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 85,
         "amount": "77683msat",
         "parent_partid": 45
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 17,
         "amount": "1302004msat",
         "parent_partid": 13
      },
      {
         "status": "failed",
         "failreason": "failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)",
         "partid": 22,
         "amount": "678338msat",
         "parent_partid": 17
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 23,
         "amount": "623666msat",
         "parent_partid": 17
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 4872msat > 1599msat, discarding route",
         "partid": 34,
         "amount": "319925msat",
         "parent_partid": 23
      },
      {
         "status": "pending",
         "failreason": "Fee exceeds our fee budget: 182420msat > 862msat, discarding route",
         "partid": 46,
         "amount": "172539msat",
         "parent_partid": 34
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 66,
         "amount": "93831msat",
         "parent_partid": 46
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 67,
         "amount": "78708msat",
         "parent_partid": 46
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 47,
         "amount": "147386msat",
         "parent_partid": 34
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 68,
         "amount": "80015msat",
         "parent_partid": 47
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 69,
         "amount": "67371msat",
         "parent_partid": 47
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 35,
         "amount": "303741msat",
         "parent_partid": 23
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 70,
         "amount": "152806msat",
         "parent_partid": 35
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 86,
         "amount": "71871msat",
         "parent_partid": 70
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 87,
         "amount": "80935msat",
         "parent_partid": 70
      },
      {
         "status": "pending",
         "failreason": "No path found",
         "partid": 71,
         "amount": "150935msat",
         "parent_partid": 35
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 96,
         "amount": "69219msat",
         "parent_partid": 71
      },
      {
         "status": "failed",
         "failreason": "No path found",
         "partid": 97,
         "amount": "81716msat",
         "parent_partid": 71
      }
   )
}

Logs (not all)

2021-04-04T14:50:41.863Z INFO    plugin-pay: cmd 63 partid 0: Initial limit on max HTLCs: 45, Destination 037cc5f9f1da20ac0d60e83989729a204a33cc2d8e80438969fadf35c1c5f1233b has 3 channels, assuming 15 HTLCs per channel
2021-04-04T14:50:42.929Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 357 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:42.934Z INFO    plugin-pay: cmd 63 partid 1: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:43.984Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 358 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:43.991Z INFO    plugin-pay: cmd 63 partid 2: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:45.110Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 359 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:45.117Z INFO    plugin-pay: cmd 63 partid 3: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:46.142Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 360 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:46.148Z INFO    plugin-pay: cmd 63 partid 4: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:47.160Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 361 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:47.166Z INFO    plugin-pay: cmd 63 partid 5: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:48.553Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 362 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:48.560Z INFO    plugin-pay: cmd 63 partid 6: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:49.645Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 363 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:49.651Z INFO    plugin-pay: cmd 63 partid 7: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:50.666Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 364 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:50.672Z INFO    plugin-pay: cmd 63 partid 8: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:51.701Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 365 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:51.707Z INFO    plugin-pay: cmd 63 partid 9: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:52.744Z INFO    0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266-chan#7: htlc 366 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2021-04-04T14:50:52.750Z INFO    plugin-pay: cmd 63 partid 10: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2021-04-04T14:50:52.756Z INFO    plugin-pay: cmd 63 partid 11: No path found
2021-04-04T14:50:52.762Z INFO    plugin-pay: cmd 63 partid 12: No path found
2021-04-04T14:50:52.762Z INFO    plugin-pay: cmd 63 partid 13: No path found
2021-04-04T14:50:52.774Z INFO    plugin-pay: cmd 63 partid 16: No path found

Route

lcli getroute 037cc5f9f1da20ac0d60e83989729a204a33cc2d8e80438969fadf35c1c5f1233b 1000 10
{
   "route": (
      {
         "id": "03a503d8e30f2ff407096d235b5db63b4fcf3f89a653acb6f43d3fc492a7674019",
         "channel": "677701x1071x0",
         "direction": 1,
         "msatoshi": 3000,
         "amount_msat": "3000msat",
         "delay": 49,
         "style": "tlv"
      },
      {
         "id": "037cc5f9f1da20ac0d60e83989729a204a33cc2d8e80438969fadf35c1c5f1233b",
         "channel": "677715x2416x1",
         "direction": 1,
         "msatoshi": 1000,
         "amount_msat": "1000msat",
         "delay": 9,
         "style": "tlv"
      }
   )
}

bitcoind – Setting up lightning with bitcoin-core

I have some questions about bitcoin-core and lightning-network-daemon.

I have succesfully set up a bitcoin node running on Ubuntu Server 20.04 by following this tutorial: https://bitcoin.org/en/full-node.
This is my node: https://bitnodes.io/nodes/81.166.125.218-8333/

I am planning on installing lnd using bitcoind as the backend, by following this tutorial: https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md

In this regard, I have the following questions:

  • What is the relationship between my bitcoin-core wallet and the lnd wallet?
  • What fee should I set to make my lnd node as profitable as possible?
  • What other recommendations can you give to help out a bitcoin- and lnd-noob like me?

Thanks in advance for all answers!
Best regards

How do I actually USE this Lightning Network?

https://lightning.network/

I’ve clicked every link. There is no download. Not even some beta CLI thing which requires Bitcoin Core to function, or anything whatsoever.

If this is a thing and people are allegedly making “more money running a channel than I do at my day job”, why is it that it doesn’t seem to have anything to actually, you know, use?

This is actually a recurring question I have for many of these “crypto projects”. They seem like utter vaporware with nothing to actually download and run and use. And yet, at the same time, I keep seeing people claim that it’s this big thing and tons of people are already using it.

But how can they be using it when the official website has nothing whatsoever to use in practice?

lightning network – How to verify a lnurl-auth callback with python

I want to create a Python implementation of an lnurl-auth server.

I started a quick HTTP server to be the callback url, and captured the signed callback sent by BLW on Android.

?tag=login
&k1=7c27131e7fb37df50d12b0cb56ac1b76f817a5ba535b15afe43390a1f6b55d4d
&sig=30450221008172a00276a4724909b37051e98b36ba4f465aac82dd4d9609f91a3cd3be1a32022075bffd8d7697d140055b27e67d31a606435fdf5073c9c96d46a02cae06a5abc4&key=030f12794ae14407b8e1bfa1cbc297bb68ce6b24455ceab52c02da7a92782b6b14

Here is some python that attempts to verify that signature.

import secp256k1

k1 = bytes.fromhex("7c27131e7fb37df50d12b0cb56ac1b76f817a5ba535b15afe43390a1f6b55d4d")
key = bytes.fromhex('030f12794ae14407b8e1bfa1cbc297bb68ce6b24455ceab52c02da7a92782b6b14')
sig = bytes.fromhex('30450221008172a00276a4724909b37051e98b36ba4f465aac82dd4d9609f91a3cd3be1a32022075bffd8d7697d140055b27e67d31a606435fdf5073c9c96d46a02cae06a5abc4')


pubkey = secp256k1.PublicKey(key, raw=True)
sig = pubkey.ecdsa_deserialize(sig)
print(pubkey.ecdsa_verify(k1, sig))

Output: False

I don’t know enough to tell what I’m doing wrong. It seems like this should be fairly standard use of the secp256k1 library.

How to access my on-chain BTC private key(s) from my Lightning Node?

I deposited some BTC to fund my lightning node. Question: Where are the private keys for the public on-chain address provided by the node in case I need to withdraw the funds from the node?