Push Channel Opens
"Ghetto Submarine Swaps" can be reduced to a two-step process as long as your client has the ability to specify a local amount and a push amount.
push channel opens with lncli
lncli has this ability built-in. For example, to open a balanced 5M channel:
lncli openchannel --node_key <node_key> --local_amt 5000000 --push_amt 2500000 --sat_per_vbyte 1
Do note that 'local amount' is 5M, because it represents the channel's total girth, however since we *push* half, the channel is balanced. This effectively reduces a ghetto submarine swap to two steps:
- node 1: open channel with N local and N/2 push
- node 2: send N/2 to node 1, on-chain