C-Otto / rebalance-lnd

A script that can be used to balance lightning channels of a lnd node
MIT License
343 stars 82 forks source link

Limit fee relative to rebalance amount #9

Closed C-Otto closed 5 years ago

C-Otto commented 5 years ago

Instead of having a fixed limit, I'd prefer to only rebalance if the fees are at most x% of the amount that I need to transfer.

ZapUser77 commented 5 years ago

Very good idea. But I'd suggest that portion be in the "auto-rebalance" script, instead of the manual one.

wamde commented 5 years ago

I think that we can have a mix: without specifying anything, fees should be limited to a hardcoded absolute value or a (to be implemented) hardcoded percentage of the amount to be transferred. And then optional arguments can override this, or a --force argument can override this blindly and accept anything. What do you think?

ZapUser77 commented 5 years ago

I think the menu should function just like how LND transactions work normally: You try to send a payment, it returns the amount of fees and requests confirmation.

My personal opinion is that transactions should never just auto-process by default. One could have a setting that's configurable to allow it... but default should be a confirmation box 100% of the time.

wamde commented 5 years ago

I would like to have a full auto mode for my node, which I think is the path to industrialisation. But the default should absolutely be to await manual confirmation.

ZapUser77 commented 5 years ago

By "full auto" are you talking about an autonomous mode with no human interaction? And yes, that is the path. I've got that already working quite well on my node. ^_^ Fully automated re-balancing. Fun stuff.

wamde commented 5 years ago

So you do have full auto rebalance using your own fork of LND with your PR patched to it? If so, are you still interested in this project? (serious question)

ZapUser77 commented 5 years ago

Yes. My system is fully automated. I've only published the "route to self" and "rebalance" command for peer review. The auto-rebalance is... riskier, so I don't want to publish/share until the first two PR's are peer reviewed. (I don't actually know how to program in GO... or Python.)

Each time a channel balance changes, it checks the "unbalanced level" and if too unbalanced it issues the rebalance command automatically.

Something to keep in mind... "auto-rebalance" every hour... is completely insufficient for major hubs. Big hubs could easily see thousands of transactions per second. Even a single second of being too unbalanced could severely hurt the flow of traffic.

As for as this project. I've never seen python before. So, I'll be of limited help reading/writing code. But I can definitely help with other technical aspects, and logic flow.
It may be months or even years before they get around to checking my PR. And I want everyone to have easy access to rebalancing. It's absolutely critical for LN growth.

I don't use slack, but you can get my attention on twitter: @LN_Master_Hub