rebalance-lnd: リバランス作業で楽しよう
みなさん、リバランスで疲弊してませんか?
先日投稿した下記記事では「今月はリバランスを抑える」とか言ってたくせに、先月をはるかに超えるペースでリバランスしています。
たまにフィー上限設定し忘れて、鬼のようなリバランスフィーを支払うと完全に疲弊します。
今まで、Outキャパに寄っているチャネルと、Inキャパに寄っているチャネルを総当たりでリバランスしていたのですが、以前から気になっていたrebalance-lndを試したところリバランス人生に劇的な変化が起こりました。
LTRやlncli、BoSなどでは総当たり的に実行する必要があったリバランス作業を、自動化してくれるツールです。
Satsを送りたいチャネル、受け取りたいチャネルいずれか片方だけを指定することで、指定していない側を総当たり風に試行してくれるとともに、リバランスフィー水準も特段指定しなければOutキャパを増やす側で設定しているフィー水準(=機体収益値)の範囲内で行ってくれます。
言うまでもないことですが、元々実行不可能なリバランスはできません。ただ、他の方法だと何度もトライ&エラーが必要なプロセスを自動化してくれるため、圧倒的な負担の軽減につながります。
この手のことはど素人なので通常は解説記事などをみながらインストールするのですが、rebalance-lndについてはGitHub以外でほとんど見つからなかったので記載してみます。Shadowy Crypto Super-Codersから見たらもっとエレガントな方法があるかもしれません。
インストール(環境はMacです)
ssh -t umbrel@umbrel.local
まずはターミナルからssh接続。パスワードを入力。
git clone https://github.com/C-Otto/rebalance-lnd
cd rebalance-lnd
$ pip3 install -r requirements.txt
もし「running setup.py bdist_wheel for grpcio」で止まったら
pip install --upgrade pip
pip install --upgrade setuptools
後に再度ためしてみたらOKでした。
python3 rebalance.py
が実行できれば多分成功です。
使い方
通常の2チャネル間のリバランスは
python3 rebalance.py --amount [500000] --fee-ppm-limit [300] from [sender channel ID] --to [receiver channel ID]
ですが、個人的に便利だと思うのは
#このチャネルにInキャパを作る
python3 rebalance.py --amount [500000] from [sender channel ID]
#このチャネルにOutキャパを作る
python3 rebalance.py --amount [500000] --to [receiver channel ID]
です。ペアになるチャネルを敢えて指定しないことで、そのリバランスが実行可能なチャネルを勝手に探してくれます。
上限フィーを指定しなければOutキャパができる側のチャネルが獲得するフィー水準未満で自動決定されるようです。いちいち指定しなくて良いので間違って10000sats払ったりすることは避けられます。
キャパが枯渇した時や新規に開いたチャネルにInキャパ作りたいときなどに便利ですね。チャネル数が多いノードほど恩恵が大きいツールだと思います。
注意点としてはcharge-lndを使っていて平常時と偏った時で異なるフィーを設定している場合、rebalance-lndが判断に使うのは現時点で設定されているフィーなので、その場合はフィー指定した方がよいです。
これでリバランスやり放題ですね!!!!!!!💀
リバランスを理解するためにCLIでインボイス作って自分宛て支払いやってたけど、これ使いだしたらホント楽だし効率的。
私はdockerで利用してます。(docker pullでダウンロード、runのためのコマンドラインをスクリプトにしてオプションを引数で渡す)