0 sats \ 7 replies \ @DarthCoin 28 May 2023 \ on: Open a channel spending the whole UTXO (no change output) with lnd & bos bitcoin
well done, this is good.
Thanks, means a lot coming from you. I expected negative reactions, "are you crazy? This much work and fiddling?". But it may be more difficult to read it than to actually do it.
Maybe those critics will come later. :)
reply
No, why should I critique you for this?
Is a solution proposal that have a use case. This is good for node runners.
I always try to do this, but in another manner.
Is hard to deal with dust utxos when you open channels.
reply
Hehe, I guess I am conditioned by reddit.
Could you write about your method? At least briefly, I know it takes some time to write it properly.
Btw I have another method - export your private keys by
chantools genimportscript -/format bitcoin-descriptors
, and import the private key you want in e.g. electrum, and then create funding tx with electrum. But this rules out taproot outputs because electrum does not support them. And I tried importing the file from chantools by bitcoin-cli importwallet
, but did not succeed.And I swear I saw a question about this on bitcoin.stackexchange.com some months ago, but tried searching now and did not find it.
reply
If you want to import your LND aezeed into another wallet app, use Sparrow.
I explained here (see point 5) how to do it.
But my method is to not use an external wallet app for my LND node.
I keep it simple, if I have to open a new channel:
- always keep ONE UTXO with 100k sats for the fucking stupid anchor reserve. Untouched. Is stupid but there's no other way for the moment.
- send the amount of sats for the channel to the onchain node wallet, 1 UTXO
- Calculate exactly the fee in total sats to open that channel and adjust exactly the amount of the channel, slightly lower, in case are necessary some msats in the opening. You can do this in RTL or Thunderhub, puting a higher amount intentionally so will calculate and will give you exactly the difference you will have to deduct for the fee. Then just adjust the amount of the channel deducting the fee that was missing.
Done, will open a channel with the entire UTXO, not touching the anchor UTXO.
I hope soon we will have an nice option to "send all" at LN code level.
reply
Sparrow can import azeed? I didn't see such option... But Zap desktop can (via recovery option), trying that now.
Your method involves 1 extra on-chain transaction, which defeats the purpose IMHO. You do avoid the change output, but the on-chain footprint is at least 2*111 = 222 vb for the channel opening.
So perhaps my method is cheaper... and more tedious.
reply
Indeed, Zap desktop can import it directly the seed.
With Sparrow you need to do some additional steps.
Ah sorry, I forgot to add the link (see point 5).
https://darthcoin.substack.com/p/umbrel-btcln-node-shtf-scenario
reply
great, it works in Sparrow. Perhaps you want to update your article, I had to create 2 wallets in Sparrow, one for segwit (m/84'/0'/0' as you mention) and one for taproot (m/86'/0'/0'). Then Sparrow allows fine-grained control, so my original post is now partially obsolete. :)
My updated workflow will be: create a tx to dummy P2WSH address in Sparrow to determine maximum sendable amount, initiate channel opening with this amount (basically the same
bos open
as in the original post) and send from Sparrow to address given by bos open
.reply