ライトニングノードの設定をいろいろ試してみたり、作ったライトニングアプリの挙動をテストしたいとき、手元にRegtestのネットワークを立ち上げるのが非常に手間に感じていました。
大量のターミナルを立ち上げてるとどれがどれだかわからなくなってきますよね。
そこで、Polarというソフトを使うとGUIで手軽にRegtestモードのライトニングネットワークを立ち上げられると聞いて、早速使ってみました。
Polarの導入方法
私はUbuntu環境だったので、バイナリはアーキテクチャによってpolar-linux-amd64-v1.3.0.deb
かpolar-linux-x86_64-v1.3.0.AppImage
のどちらかになりますね。
私はノートPCで実行したかったので、.AppImageの方をダウンロードしました。GUIで実行するので、ダウンロードフォルダ内のファイルをダブルクリックで起動…する前に、右クリックして「プロパティ」からファイルを実行できるように権限を設定しましょう。 コマンドラインからchmod
コマンドを使ってもいいです。
Polarの使い方
Polarが立ち上がると、早速ネットワークを作ろうと言われるので必要なノード数を選んで作成します。c-lightning、Lnd、Eclair、Bitcoin Coreから選びますが、後から追加することもできるので、あまり深く考える必要はありません。
選択すると画面が遷移し、ネットワーク図が表示されます。
例えばこのネットワークにはBitcoin Coreのノードが1つと、それに接続したc-lightningノードが4つあります。
右上の「Start」を押すとそれぞれのノードがDockerイメージから起動します。初回はDockerイメージのダウンロードがあるので少し時間がかかります。
Bitcoinノードをクリックすると右側にメニューが出てきます。”Actions”タブから任意の数のブロックをマイニングしたり、コマンドラインを開いて直接操作したり、ログを確認できます。
Lightningノードもクリックすると右側にメニューが表示され、”Actions”タブから資金を追加したり、チャネルを開けたり、インボイスの発行や支払いができます。もちろんコマンドライン操作やログの確認も。
”Connect"タブにある情報を使ってローカル環境のLappsをつなぎ、動作確認することもできます!
また、チャネルの開閉はノードについている点をドラッグすることで視覚的に行なえ、バランスも視覚的に表示されます。下図はいくつかチャネルを開き、ペイメントを行った後のネットワークの様子です:
Polarを使うとRegtest上のLightning Networkを自由自在に構築できます。ぜひテストに活用してください。
ちなみに追記ですが、自分は自作のc-lightningプラグインのテストに使用したかったのですが、各ノードはそれぞれコンテナが独立しているため、それには別途特製のDockerイメージを作る必要がありそうです。特製のDockerイメージの追加や管理はメニューバー右上の”Manage Images"から行うことができるようなので、私もこれからチャレンジしてみます!