Difference between revisions of "Opening channels"
m |
m |
||
(16 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
The first question which a pleb has after (or even before) the node is synced "'''who should I open channel with?'''" | |||
<!--T:2--> | |||
I would say - '''with a mentor who is willing to spend time with you, teach you the ropes, mentor and guide you to be a better node runner''' | |||
<!--T:3--> | |||
Of course in the age of google, the internet, and instant gratification, this thought can be frowned upon but there is no replacement for a mentor in your journey as node runner. | |||
=== Add Liquidity === <!--T:4--> | |||
<!--T:5--> | |||
Generate a Lightning wallet and add some funds so that you can open channels. Keep in mind that PLEBNET prefers [[Special:MyLanguage/#keep-it-girthy|girthy channels]], so fund your node accordingly. | |||
=== Reserve For Anchor Channels === <!--T:6--> | |||
<!--T:7--> | |||
If you use Anchor Channels (enabled by default in [https://github.com/lightningnetwork/lnd/releases lnd13.1]), lnd keeps a UTXO on your node as a reserve for commitment fees. The reserve amount is 10K sats multiplied by the number of channels you have, up to a [https://github.com/lightningnetwork/lnd/pull/5274 maximum of 100K Sats]. | |||
<!--T:8--> | |||
If you have only one UTXO on your node on-chain wallet, you can get into issues that you are unable to spend that UTXO for opening channels. It is therefore suggested that you keep at least one 100K UTXO on your on-chain wallet. | |||
<!--T:9--> | |||
To do that, | |||
<!--T:10--> | |||
# In umbrel dashboard - bitcoin wallet - select deposit. It will generate a new address. Copy that. | |||
# In umbrel dashboard - bitcoin wallet - select withdraw. Page the address generated in step 1 above here and choose the amount 100000 Sats | |||
# Select low fee 1 Sat/Vb and send. It will create a UTXO of 100K Sats on your node which will be used for Anchor Channels once there is at least 1 on-chain confirmation of this transaction. | |||
=== Find Nodes in PLEBNET Telegram Group === <!--T:11--> | |||
<!--T:12--> | |||
If you’re not yet able or willing to offer girthy channels and just want to get started with a smaller amount of sats, [https://amboss.space/node/0381de1709efbda38f9afd2d47399caa19a2630c0c795acd24755efa442685fc7d Turgidson] is for PLEBNET newbies and will accept channels as low as 20k. | If you’re not yet able or willing to offer girthy channels and just want to get started with a smaller amount of sats, [https://amboss.space/node/0381de1709efbda38f9afd2d47399caa19a2630c0c795acd24755efa442685fc7d Turgidson] is for PLEBNET newbies and will accept channels as low as 20k. | ||
<!--T:13--> | |||
You may want to check out [https://www.youtube.com/watch?v=qnj-ix45tVw Lightning Routing: The First 30 Days] to get some ideas | You may want to check out [https://www.youtube.com/watch?v=qnj-ix45tVw Lightning Routing: The First 30 Days] to get some ideas | ||
<!--T:14--> | |||
Otherwise, you’ll need to find some other nodes in PLEBNET to open channels with. | Otherwise, you’ll need to find some other nodes in PLEBNET to open channels with. | ||
<!--T:15--> | |||
You can go to http://graph.plebnet.org/ to see the current visual graph of nodes, or type <code>/graph@cheeserobot group</code> in the PLEBNET chat. <code>/groupnodes@cheeserobot</code> will output a list of the 50 most recent members and nodes. You can contact plebs form the graph or list and see if they’d like to open a channel. | You can go to http://graph.plebnet.org/ to see the current visual graph of nodes, or type <code>/graph@cheeserobot group</code> in the PLEBNET chat. <code>/groupnodes@cheeserobot</code> will output a list of the 50 most recent members and nodes. You can contact plebs form the graph or list and see if they’d like to open a channel. | ||
<!--T:16--> | |||
You can also just ask in the PLEBNET channel if anyone is interested in opening a channel with you. | You can also just ask in the PLEBNET channel if anyone is interested in opening a channel with you. | ||
For a two way routing, required to both send and receive sats, you need a good balance of inbound and outbound liquidity. Most new node runners end up with a lot of outbound liquidity because they are the ones opening channels. Here is how you can get some inbound liquidity | === Other Channel Sources === <!--T:17--> | ||
<!--T:18--> | |||
For a two-way routing, required to both send and receive sats, you need a good balance of inbound and outbound liquidity. Most new node runners end up with a lot of outbound liquidity because they are the ones opening channels. [[Getting_Inbound_Liquidity | Here is how you can get some inbound liquidity]] | |||
=== Keep It Girthy === <!--T:20--> | |||
<!--T:21--> | |||
It’s best to have fewer big channels with more sats than it is to have many smaller ones. The recommended minimum channel size is 2 million sats, which will cost you 1 million sats per channel if you are trying to have an even balance of inbound and outbound liquidity. | |||
=== Balanced Channels === | === Balanced Channels === <!--T:22--> | ||
<!--T:23--> | |||
The idea is to have balanced channels. This means that there is an equal amount of sats between each node on the channel. | The idea is to have balanced channels. This means that there is an equal amount of sats between each node on the channel. | ||
<!--T:24--> | |||
For example, if <code>Node A</code> opens a channel with <code>Node B</code> for 2m sats, it will start entirely on their end. <code>Node A</code> will want to find a way to have 1m sats on each side of the channel. | For example, if <code>Node A</code> opens a channel with <code>Node B</code> for 2m sats, it will start entirely on their end. <code>Node A</code> will want to find a way to have 1m sats on each side of the channel. | ||
<!--T:25--> | |||
There are several different ways to accomplish this. | There are several different ways to accomplish this. | ||
==== “Girthy (formerly known as Ghetto) Submarine Swap” (aka: ‘trust-required’ dual-funded channel) ==== <!--T:26--> | |||
<!--T:27--> | |||
'''ONLY DO THIS WITH ESTABLISHED AND TRUSTED PLEBNET NODES! IT IS POSSIBLE TO LOSE SATS DOING THIS.''' | '''ONLY DO THIS WITH ESTABLISHED AND TRUSTED PLEBNET NODES! IT IS POSSIBLE TO LOSE SATS DOING THIS.''' | ||
<!--T:28--> | |||
# <code>Node A</code> opens a channel with X sats. | # <code>Node A</code> opens a channel with X sats. | ||
# <code>Node B</code> sends a Lightning invoice for half of the amount X sats that was opened on the channel | # <code>Node B</code> sends a Lightning invoice for half of the amount X sats that was opened on the channel | ||
Line 53: | Line 87: | ||
# <code>Node A</code> pays the Lightning invoice | # <code>Node A</code> pays the Lightning invoice | ||
<!--T:29--> | |||
In some other versions, the swap is executed as below | In some other versions, the swap is executed as below | ||
<!--T:30--> | |||
# you agree with NODE B you trust to open a 2X channel and at the time of open you push X towards them (i.e you gift them X on LN) | # you agree with NODE B you trust to open a 2X channel and at the time of open you push X towards them (i.e you gift them X on LN) | ||
# In return NODE B pay X back to you at your on-chain address. (this is based on trust. Usually, people are honourable because they don't want to spoil their reputation for a few dollars but you never know). | # In return NODE B pay X back to you at your on-chain address. (this is based on trust. Usually, people are honourable because they don't want to spoil their reputation for a few dollars but you never know). | ||
# End result you have a 2X channel with X local X remote. And you have X on-chain to open another channel. | # End result you have a 2X channel with X local X remote. And you have X on-chain to open another channel. | ||
==== MEG (aka: ‘trustless’ dual-funded channel) - Mutually Exchanged Girth ==== <!--T:31--> | |||
<!--T:32--> | |||
With the support for internal funding added, adding balanced channel is now a piece of cake. All you need is a willing peer. | |||
<!--T:33--> | |||
Alex Bosworth’s CLI tool, [https://github.com/alexbosworth/balanceofsatoshis Balance of Satoshis] utilizes keysend to add this functionality to LND (which does not natively support it, yet) | Alex Bosworth’s CLI tool, [https://github.com/alexbosworth/balanceofsatoshis Balance of Satoshis] utilizes keysend to add this functionality to LND (which does not natively support it, yet) | ||
<!--T:34--> | |||
<pre>Please also ensure that your boss 10.10.2 or higher and node.js/npm software is up to date before attempting this.</pre> | |||
Please also ensure that your | |||
<pre>Pre-req: make sure NODE 1 and NODE 2 have keysend enabled (this is default for Umbrel) and at least 1 channel already | <!--T:35--> | ||
<pre>Pre-req: make sure NODE 1 and NODE 2 have keysend enabled (this is the default for Umbrel) and at least 1 channel already established to integrate you into the lightning network (you need a path out for key send to new peering node for the whole process to work) | |||
<!--T:36--> | |||
(NODE 1: Alice) | (NODE 1: Alice) | ||
(0) Run: bos open-balanced-channel | (0) Run: bos open-balanced-channel | ||
Line 74: | Line 116: | ||
(2) enter full channel size | (2) enter full channel size | ||
(3) enter fee rate | (3) enter fee rate | ||
(4) select Y if you want to fund from internal (node wallet) or else use an external wallet to provide the signed transaction for the exact details provided. copy the signed_transaction if you followed external funding. | |||
(4) | |||
( | |||
<!--T:37--> | |||
(NODE 2: Bob) | (NODE 2: Bob) | ||
(0) Run: bos open-balanced-channel (it should see the request from node1 at this point) | (0) Run: bos open-balanced-channel (it should see the request from node1 at this point) | ||
(1) agree with funding rate (y/n) | (1) agree with funding rate (y/n) | ||
(2) press Y for internal funding (node wallet) or else use an external wallet to provide the signed transaction for the exact details provided. copy the signed_transaction if you followed external funding. | |||
(2) | (3) hit enter and this should work. | ||
( | |||
( | |||
<!--T:38--> | |||
check via: lncli pendingchannels | check via: lncli pendingchannels | ||
</translate> | |||
Latest revision as of 11:22, 27 January 2022
The first question which a pleb has after (or even before) the node is synced "who should I open channel with?"
I would say - with a mentor who is willing to spend time with you, teach you the ropes, mentor and guide you to be a better node runner
Of course in the age of google, the internet, and instant gratification, this thought can be frowned upon but there is no replacement for a mentor in your journey as node runner.
Add Liquidity
Generate a Lightning wallet and add some funds so that you can open channels. Keep in mind that PLEBNET prefers girthy channels, so fund your node accordingly.
Reserve For Anchor Channels
If you use Anchor Channels (enabled by default in lnd13.1), lnd keeps a UTXO on your node as a reserve for commitment fees. The reserve amount is 10K sats multiplied by the number of channels you have, up to a maximum of 100K Sats.
If you have only one UTXO on your node on-chain wallet, you can get into issues that you are unable to spend that UTXO for opening channels. It is therefore suggested that you keep at least one 100K UTXO on your on-chain wallet.
To do that,
- In umbrel dashboard - bitcoin wallet - select deposit. It will generate a new address. Copy that.
- In umbrel dashboard - bitcoin wallet - select withdraw. Page the address generated in step 1 above here and choose the amount 100000 Sats
- Select low fee 1 Sat/Vb and send. It will create a UTXO of 100K Sats on your node which will be used for Anchor Channels once there is at least 1 on-chain confirmation of this transaction.
Find Nodes in PLEBNET Telegram Group
If you’re not yet able or willing to offer girthy channels and just want to get started with a smaller amount of sats, Turgidson is for PLEBNET newbies and will accept channels as low as 20k.
You may want to check out Lightning Routing: The First 30 Days to get some ideas
Otherwise, you’ll need to find some other nodes in PLEBNET to open channels with.
You can go to http://graph.plebnet.org/ to see the current visual graph of nodes, or type /graph@cheeserobot group
in the PLEBNET chat. /groupnodes@cheeserobot
will output a list of the 50 most recent members and nodes. You can contact plebs form the graph or list and see if they’d like to open a channel.
You can also just ask in the PLEBNET channel if anyone is interested in opening a channel with you.
Other Channel Sources
For a two-way routing, required to both send and receive sats, you need a good balance of inbound and outbound liquidity. Most new node runners end up with a lot of outbound liquidity because they are the ones opening channels. Here is how you can get some inbound liquidity
Keep It Girthy
It’s best to have fewer big channels with more sats than it is to have many smaller ones. The recommended minimum channel size is 2 million sats, which will cost you 1 million sats per channel if you are trying to have an even balance of inbound and outbound liquidity.
Balanced Channels
The idea is to have balanced channels. This means that there is an equal amount of sats between each node on the channel.
For example, if Node A
opens a channel with Node B
for 2m sats, it will start entirely on their end. Node A
will want to find a way to have 1m sats on each side of the channel.
There are several different ways to accomplish this.
“Girthy (formerly known as Ghetto) Submarine Swap” (aka: ‘trust-required’ dual-funded channel)
ONLY DO THIS WITH ESTABLISHED AND TRUSTED PLEBNET NODES! IT IS POSSIBLE TO LOSE SATS DOING THIS.
Node A
opens a channel with X sats.Node B
sends a Lightning invoice for half of the amount X sats that was opened on the channel- The
Node A
operator sends the address of their preferred on-chain Bitcoin wallet to the operator ofNode B
- The
Node B
operator sends half of the amount X sats of the opened channel to the Bitcoin wallet of the operator ofNode A
from step 3 Node A
pays the Lightning invoice
In some other versions, the swap is executed as below
- you agree with NODE B you trust to open a 2X channel and at the time of open you push X towards them (i.e you gift them X on LN)
- In return NODE B pay X back to you at your on-chain address. (this is based on trust. Usually, people are honourable because they don't want to spoil their reputation for a few dollars but you never know).
- End result you have a 2X channel with X local X remote. And you have X on-chain to open another channel.
MEG (aka: ‘trustless’ dual-funded channel) - Mutually Exchanged Girth
With the support for internal funding added, adding balanced channel is now a piece of cake. All you need is a willing peer.
Alex Bosworth’s CLI tool, Balance of Satoshis utilizes keysend to add this functionality to LND (which does not natively support it, yet)
Please also ensure that your boss 10.10.2 or higher and node.js/npm software is up to date before attempting this.
Pre-req: make sure NODE 1 and NODE 2 have keysend enabled (this is the default for Umbrel) and at least 1 channel already established to integrate you into the lightning network (you need a path out for key send to new peering node for the whole process to work) (NODE 1: Alice) (0) Run: bos open-balanced-channel (1) enter remote node public key (2) enter full channel size (3) enter fee rate (4) select Y if you want to fund from internal (node wallet) or else use an external wallet to provide the signed transaction for the exact details provided. copy the signed_transaction if you followed external funding. (NODE 2: Bob) (0) Run: bos open-balanced-channel (it should see the request from node1 at this point) (1) agree with funding rate (y/n) (2) press Y for internal funding (node wallet) or else use an external wallet to provide the signed transaction for the exact details provided. copy the signed_transaction if you followed external funding. (3) hit enter and this should work. check via: lncli pendingchannels