初めてのLightning Network surfaceGoでの立ち上げ(備忘録)!!!
こんにちはかずみょんです。ビットコインのアホルダーですがウォレットに眠らせとくのもなんなんでLightning Networkで少し運用しようと思います。もともとビットコインを国内取引所間のアービトラージをしていたんですが、その時Botを稼働するのに使っていたSurfaceGoを使ってやってみました。Lightning networkのソフトウェアもいろいろあるみたいなのですが界隈の雰囲気からLightning labs社のLNDにしました(適当)。UI的にはEclair入れてみたかった感ありますw。
参考にしたサイトです↓一応テストネットで試して上手くいってからメインネットで立ち上げました。
1. 動作環境&Bitcoin coreセットアップ
SurfaceGo : Intel Pentium CPU 4425Y@1.7GHz , RAM 8GB
SSD(USB) : 1TB
下記サイトからBitcoin coreをダウンロードしてインストール(本時点でv22.0.0)
インストール後アプリを立ち上げると同期が始まります。
*当初ストレージとして余ってたHDDを使ったんですが、Bitcoin coreの同期開始から1か月後にクラッシュしてしまいました(多分)。SSDに換えたら5日で同期完了しました(^^)v。同期完了したら”設定” → ”オプション” → ”設定ファイルを開く” からコンフィグを設定しましょう。
空のファイルを開いたら下記を設定します。
*1.テストネットの場合は "mainnet" を "testnet" に置き換える。
*2.ユーザー名を記述 ex) "<<user>>" → "user"
*3.パスワードを記述 ex) "<<password>>" → "0123456789"
mainnet=1
txindex=1
server=1
dbcache=6000
daemon=1
rpcuser=<<user>>
rpcpassword=<<password>>
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
次回Bitcoin coreを立ち上げなおした時にこの設定は反映されます。
2. Lightning Network(LND)セットアップ
下記サイトからLNDをダウンロード(本時点でv0.15.0-beta)
CPUのタイプによって適切なものを選ぶらしい。自分のはこれ↓↓
” lnd-windows-386-v0.15.0-beta.zip ”
解凍すると2つファイルがでてきます。後は実行するだけ??
起動コマンドは↓↓、<user>と<password>はbitcoin coreで設定したものと同じものを入力すれば起動します。Bitcoin coreとLNDのアプリが相互に通信しあって同期をとりにいってるようです。
lnd --bitcoin.active --bitcoin.mainnet --debuglevel=debug --bitcoin.node=bitcoind --bitcoind.rpcuser=<user> --bitcoind.rpcpass=<password> --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
もう一つのファイルのlncli.exeはlnd.exeを外部コンソールから制御できる実行ファイルです。コマンドプロンプトからlndを実行します。
lnd --bitcoin.active --bitcoin.mainnet --bitcoin.node=bitcoind --bitcoind.rpcuser=<user> --bitcoind.rpcpass=<password> --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
実行画面↓↓、実行後ウェイト状態になるので、別のコマンドプロンプト画面を開いてlncli.exeを実行する必要があります。
コマンドプロンプトからlncliを実行
lncli create
実行画面↓↓、①lnd wallet用に設定するパスワードを入力し再度確認用に同じパスワードを入力、②seedフレーズを暗号化するかしないか聞いてくるので暗号化しない場合をそのままリターン、暗号化する場合は新たなパスワードを入力する、再度確認用に同じパスワードを入力したら、seedフレーズが表示されるのでバックアップ用にメモっときましょう!!
これでlndのコマンドプロンプト画面が動き始めるはず。。
コマンドプロンプトから "lncli getinfo" で状況がみれます。
又、下記Dirに”lnd.conf”というファイルができてるはずなので各種パラメータを設定しときましょう。
C:\Users\<windows user>\AppData\Local\Lnd
lnd.conf
[Application Options]
alias=<NameyourNode>
color=#68F450
debuglevel=debug
externalip=<your IP address>
[Bitcoin]# enable either testnet or mainnet
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind
[Bitcoind]
bitcoind.rpcuser=<user>
bitcoind.rpcpass=<password>
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
lndをストップする時は↓↓コマンドプロンプトからlncliを実行、実行後lndを実行してるコマンドプロンプト画面が停止しているはずです。
lncli stop
これで再実行する時は "lnd" だけでよくなりました。実行後もウェイト状態になるのでウェイト状態を解除するには、別のコマンドプロンプト画面から"lncli"を実行してやる必要があります。すでにウォレットを作成しているので "lncli unlock"を入力すればlndが動き始めるはずです。
3. Ride The Lightning(RTL)セットアップ
RTLはブラウザ上でlndを制御できるUIのようです。便利なのでインストールしましょう。まずnode.jsとGitをインストールする必要があります。
参考にしたサイトです↓
Node.jsのインストール:
(サーバーサイドでJavaScriptを使うためのプラットフォーム)
windows installer(.msi) x64
Gitのインストール:
https://git-scm.com/download/win
コマンドプロンプト画面を新規で開きインストールしたいDirへ移動し、下記コマンド入力
$ git clone https://github.com/Ride-The-Lightning/RTL.git
$ cd RTL
$ npm install --omit=dev
インストール終了したらconfigファイルを設定しましょう。RTLディレクトリ下に "Sample-RTL-Config.json"というファイルがあるので、とりあえず最低限変更必須?と思われる部分だけ修正します(赤丸部分)。
"lnd.conf"のパスを設定:
"C:\\Users\\<<user>>\\AppData\\Local\\Lnd\\" にあるはず
"admi.macroon"のパスを設定:"
C:\\Users\\<<user>>\\AppData\\Local\\Lnd\\data\\chain\\bitcoin\\mainnet\\" にあるはず
修正完了したらコマンドプロンプト画面から "node rtl" を実行、サーバーが起動します。
ブラウザを立ち上げて↓↓アクセスしてみましょう。
http://localhost:3000
初期パスワードは"password"です。
こんな感じで自分のノードが見れれば、ひとまず完了です。
とりあえずここまで。。
後は、charge-LNDとかいろんなツールあるようですが全部RTLに統合してくれれば楽なんですけどね。。