アクセスできなくなったLNノードの資金を回収してみる

アクセスできなくなったLNノードの資金を回収してみる

家のブレーカーが落ちてから、LNノードとして使っていたラズパイが再起不能になりました。

なんとかデータだけでも取り出そうと思ったのですが、SSDも一緒に壊れてました。

新しくラズパイ買うか~と思って調べてみると、なんとどこも品切れ、あったとしても以前の価格の2~3倍の値段でした。

まさかここまで高騰してるとは思いませんでした。。。

さすがに買う気になれなかったので、とりあえずはアクセスできなくなった資金の回収をしようと思います。

この記事では、シードchannel.backupが手元にあることが前提になります。

実行環境

  • Windows 10 21H1
  • lnd version 0.14.3-beta

1. LNDのインストール

こちらからlndをダウンロードします。
次に、C:\Users\username\AppData\Local\Lndを作成し(usernameはご自身のものに変えてください)、zipファイルを展開してlnd.exelncli.exeを作成したフォルダにコピーします。

2. lnd.confの作成

C:\Users\username\AppData\Local\Lndlnd.confを作成します。

notepad C:\Users\username\AppData\Local\Lnd\lnd.conf

lnd.confは以下のようにします。

[Application Options]
debuglevel=info
feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json

[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=neutrino

[neutrino]
neutrino.connect=btcd-mainnet.lightning.computer

neutrinoで起動し、Lightning Labsの公開ノードに接続します。

3. オンチェーン資金の回収

lndを起動します。

C:\Users\username\AppData\Local\Lnd\lnd.exe

別のセッションで以下のコマンドを実行し、新しくウォレットを作成します。

C:\Users\username\AppData\Local\Lnd\lncli.exe create

ウォレットのパスワードを設定します。

Input wallet password:
Confirm wallet password:

シードを持っているか聞かれるので、24単語のシードを入力します。

Do you have an existing cipher seed mnemonic or extended master root key you want to use?
Enter 'y' to use an existing cipher seed mnemonic, 'x' to use an extended master root key
or 'n' to create a new seed (Enter y/x/n): y

Input your 24-word mnemonic separated by spaces:

シードを作成する際に、パスフレーズを使用した場合はここで入力します(umbrelは無し)。

Input your cipher seed passphrase (press enter if your seed doesn't have a passphrase):

再スキャンする使用済みアドレスの数を入力します。デフォルトで良いと思いますが、オンチェーンを頻繁に使用した場合は値を増やす必要があるかもしれません。

Input an optional address look-ahead used to scan for used keys (default 2500):


問題がなければ、ウォレットが作成されます。

!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!

---------------BEGIN LND CIPHER SEED---------------

---------------END LND CIPHER SEED-----------------

!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!

lnd successfully initialized!

ウォレットが作成できたら、リカバリーの進捗状況を確認します。

C:\Users\username\AppData\Local\Lnd\lncli.exe getrecoveryinfo

リカバリーが終了したら、オンチェーン残高を確認します。

C:\Users\username\AppData\Local\Lnd\lncli.exe walletbalance

以上がオンチェーン資金の回収方法です。

4. オフチェーン資金の回収

次にオフチェーンの資金を回収します。channel.backupを用意し、最初に作成したフォルダにコピーします。
restorechanbackup コマンドを使用し、 multi_fileにchannel.backupがあるパスを設定します。

C:\Users\username\AppData\Local\Lnd\lncli.exe restorechanbackup --multi_file=C:\Users\username\AppData\Local\Lnd\channel.backup

restorechanbackupを実行することで、以前のpeerにchannelを強制的に閉鎖するよう依頼します。オフラインのpeerがいた場合、そのpeerとのchannelにある資金は、SCBを使って回収することはできません。

pendingchannelsで、閉鎖待ちのchannelを確認できます。

C:\Users\username\AppData\Local\Lnd\lncli.exe pendingchannels

各channelのclosing_txidで閉鎖トランザクションIDを確認します。
すべてのトランザクションが承認されれば、オフチェーン資金の回収は完了です。ウォレットに関連するトランザクションはlistchaintxns で確認できます。

C:\Users\username\AppData\Local\Lnd\lncli.exe listchaintxns

回収したすべての資金を別のアドレスに送金したい場合は以下を実行します。

C:\Users\username\AppData\Local\Lnd\lncli.exe sendcoins --sweepall --sat_per_vbyte 1 addr

addrは宛先のアドレスに置き換えてください。手数料の過払いを避けたい方はsat_per_vbyteオプションをつけることで、sat/vbyteの手数料を手動で設定できます。

以上、オンチェーン・オフチェーンの資金の回収方法でした。

有料エリアでは、スマホを使ったもっと簡単な資金の回収方法を紹介しています。

Remaining : 288 characters / 2 images
100

Sign up / Continue after login

Related stories

Writer

Share

Popular stories

自前ノードを使って簡単なライトニングアプリを作ってみる

308

チャネルバックアップファイルを自動でクラウドに保存してみる

139

チャネルバックアップファイルを自動でコピーしてみる

119