【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

 BlueWallet(https://bluewallet.io/)はビットコインオンチェーンウォレットだけではなくLightningウォレットとしても使えます。Lightningウォレット(以下BWLウォレット)はLigtning Networkノードとしての機能は持っておらず、LNDと通信してそのLNDが持つチャネル残高・流動性やインボイス発行・決済機能など利用させてもらうという形となります。

 BWLウォレットはLNDと直接接続できません。LNDhubというソフトウェアと通信し、LNDhubがBWLウォレットとLNDの仲介役として機能することでBWLウォレットはLightningウォレットとして機能できます。

 Umbrelをお持ちの方は"BlueWallet Lightning(以下BWL)"というアプリをインストールすればUmbrelにLNDhubが追加できます。BlueWallet Lightningと名前こそ違いますが、その実体はLNDhubです。
 デフォルトのBWL運用ではBWLウォレットとBWL間はTorで接続することを想定しています。ですがTorでは通信が遅く、取引履歴・残高の更新やLN支払いのたびに遅延するので使い勝手はよろしくありません。そこでTorの替わりに無料のVPNサービス「tailscale」を使うことでレスポンスを向上させることができます。

<参照> Bluewallet Ligthningウォレット、LNDhub、LNDの3者関係の図解

 BWLウォレットで表示される残高とはLNDhubのデータベース(Redis)で管理されている数値です。データベースにBWLウォレットを使ってLN入出金したビットコイン額、オンチェーン入金したビットコイン額が記録され、その収支残高がBWLウォレットにおけるビットコイン残高として表示されています。

 以下パートでTor(遅い)の替わりにtailscaleでBWLウォレットとBWLの運用するための設定手順を説明します。

手順概要

  1. Umbrelに "BlueWallet Lightning" および "tailscale"をUmbrelアプリストアからインストール。tailscaleを起動してログインする。
  2. 自分のスマホに "tailscale"をアプリストアからインストール。
    tailscaleを起動してログインする。
    Umbrelに割り当てられたIPアドレスをメモしておく。
  3. 自分のスマホに"BlueWallet" をアプリストアからインストール。
    Lightningウォレットを作成する。
    この時LNDhub接続先を http://Umbrelのtailscale IPアドレス:3008 とする。

手順詳細

1.

・Umbrelダッシュボードにログイン。
・App Storeにて "BlueWallet Lightning"をインストールする。
・続いて"Talescale"をインストールする。
・インストール完了後OPENをクリックする。
・Log inページが開くのでLog inをクリック。
・Googleアカウント、Microsoftアカウント、Githubアカウントのいずれかを使ってtailscaleにログイン。

2.

※ここではAndroidスマートフォンで手順を解説します。

・Google Play Storeを起動し、"tailscale" (https://play.google.com/store/apps/details?id=com.tailscale.ipn)をインストールする。
・インストール完了後にログインするが、手順【1】と同じアカウントを使ってログインする。
・画面上部のスイッチをタップしてActiveにする。

 tailscaleのアプリ画面にはtailscaleに追加されてるスマホやUmbrelがホスト名およびそれらに自動的に割り当てられたIPアドレスが表示されています。
 下記スクショでは私のスマホ(Google Pixel3a)とUmbrel(ホスト名blackthunder)が表示されています。Umbrelのホスト名を変更していなければumbrelと表示されています。

・このUmbrelに割り当てられたIPアドレスをメモしておく。

3.

・Google Play Storeで "Blue Wallet" (https://play.google.com/store/apps/details?id=io.bluewallet.bluewallet)をインストールする。

・ウォレットを追加 ”今すぐ追加”をタップ。

・"ライトニング"をタップ。
・"あなたのLNDhubに接続"の下欄に先程メモしたUmbrelに割り当てられたIPアドレスを使って以下の通りの書式で入力する。
 http://Umbrelに割り当てられたIPアドレス:3008

上記tailscaleのスクショではUmbrelに割り当てられたIPアドレスは100.78.97.96だったので 下記画面では http://100.78.97.96:3008  と入力しています。httpsではないのでhttpによる通信は暗号化されていませんが、自分のtailscaleに参加した機器(スマホとUmbrel)間では暗号通信となるので外部からは内容はわかりません。


・”作成”をタップ。
※ :3008のポート番号を入力せずに追加をタップしたBlueWalletは強制終了します。

UmbrelのBlueWallet Lightningと通信できていれば、ウォレット設定データをバックアップする画面に替わります。

※この画面はスクショできません。
・”はい、書きとめました”をタップする。

 以上の手順により自分のUmbrelに接続したBlueWallet Lightningウォレットが出来ます。お疲れ様でした!
 2つ以上のBWLウォレットが欲しい場合は3.の”今すぐ追加”をタップ。以降の手順を繰り返すだけです。

【Tips】

  • 設定→ネットワーク→Lightning設定で、ここに http://Umbrelに割り当てられたIPアドレス:3008 を入れておくと、次にLightningウォレット作った時のデフォルトLNDhub接続先設定となる。
  • 今回の設定の応用。設定→ネットワーク→Electrum Serverで、IPアドレスにUmbrelに割り当てられたIPアドレス、ポート番号に50001、use SSLチェックオフと設定しておくと、UmbrelのElectrumサーバ(electrs)をBlueWalletで使用することができる。
  • BWLウォレットの残高を直接データベースをいじって増やすのは難しい。なのでルーティングFeeのかからないLN入手金で残高を増やす方法をつかう。WalletOfSatoshi.comや2台目Umbrelとチャネルを開設してそこに一旦出金、BWLウォレットでインボイスを作り、そこから支払う。するとルーティングFeeが0で残高を増やすことができる。※WoSは2022/5/2現在出金手数料というものは無い。
  • Umbrel LNDのオンチェーンウォレットからBWLウォレットの補充先ビットコインアドレスに送金しても、BWLウォレット上の残高は増えない。
  • Umbrelアプリの「LNbits」もLNDhubとしての機能を持っている。なのでBWLの代わりにLNbitsを使うのもアリ。

【有料パートについて】

BWLウォレットから支払いした時、出金手数料として支払い額の0.3%(3,000ppm)が徴収されます。これはBWLデータベース上の残高から減らすことによって実現しています。実際にアウトバンドキャパシティが0.3%分減っているわけではありません。とはいえBWLウォレット上は0.3%支払っている表示になるので不快です。
有料パートにはこの内部処理を書き換えて0%にする手順を書きました。
CLI操作が必要でvimエディタを使います。ファイルが壊れて直せないとBWLのアンインストールして再度インストールが必要になります。正直素人向けじゃないです。
元ネタは下記LNDhubのIssueです。
https://github.com/BlueWallet/LndHub/issues/294

Remaining : 628 characters / 3 images
500

Sign up / Continue after login

Related stories

Writer

甘いもの大好きメタボ猫。マイペースなのはしょうがない。

Share

Popular stories

SaruTobi LN / Swing Thingモードで遊ぼう! 基本的な飛び方について

97

【Umbrel】LNURLが使いたいから自分で環境つくってみた

71

UmbrelとZap walletをクリアネットで接続する手順

59