狠狠撸

狠狠撸Share a Scribd company logo
ライトニングノードを
たててみよう
Takaya Imai
CEO@Frontier Partners LLC
Co-founder and CTO@United Bitcoiners Inc.
ライトニングノード構
成
btcdlnd
neutrino
Bitcoin P2P NetworkLightning P2P Network
ライトニング
ノードインストール
https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md
ライトニング
ノードインストール
? Go言語をインストールします
? lndはGo言語で書かれているので、まずGo言語のインストールをします
? バージョン1.9以上が必要です
? $ sudo apt-get install golang-1.10-go
? または
? $ sudo apt install golang-1.10-go
? apt-getでインストールすると、/usr/lib/go-1.10/bin 以下にGo言語自体の実行ファイルが置かれます
。普通は/usr/lib/go-1.10/bin にパスが通ってないので、パスが通っている/usr/local/bin にシンボリッ
クリンクを置きます。
? $ sudo ln -s /usr/lib/go-1.10/bin/go /usr/local/bin/go
ライトニング
ノードインストール
? Go言語関係のパスの設定をします
? `go get`でパッケージをダウンロードするときに使うダウンロード先を指定します
? $ export GOPATH=~/gocode
? lndの実行ファイルが置かれる場所にパスを通しておき、コマンドラインで実行しやすいようにしておきます
? $ export PATH=$PATH:$GOPATH/bin
? ログイン毎(シェル起動毎)に上記のコマンドを実行するのは面倒なので、自動実行されるように設定します。実行環境によって
~/.bashrc 以外ののファイルに書いておかないといけない場合もあります
? $ cp ~/.bashrc ~/.bashrc.org
? $ vi ~/.bashrc
? $ diff .bashrc.org .bashrc
? 117a118,120
? >
? > export GOPATH=~/gocode
? > export PATH=$PATH:$GOPATH/bin
ライトニング
ノードインストール
? ライトニングネットワークのノード lnd をインストールします
? github.com からlndのソースコードを取ってきます。
? $ go get -d github.com/lightningnetwork/lnd
? 上記コマンドの実行が遅ければ、以下のように直接github.comからソースコードを取って来る
? $ git clone https://github.com/lightningnetwork/lnd.git $GOPATH/src/github.com/lightningnetwork/lnd
? コンパイルし、lndの実行ファイルを作成 & 実行ファイルを配置
? $ cd $GOPATH/src/github.com/lightningnetwork/lnd
? $ make && make install
ライトニング
ノードインストール? lndノードを立ち上げる。
? $ lnd —noencryptwallet —bitcoin.active —bitcoin.testnet —bitcoin.node=neutrino —neutrino.connect=faucet.lightning.community &
? ↑の”—“はハイフン一つに見えますがハイフン二つです。
? lndのログ確認
? ブロックヘッダの同期を最初に行います。立ち上がり終わるまで5-10分ほどかかります。
? ノードの状況は以下のようにログで確認できます。
? $ less ~/.lnd/logs/bitcoin/testnet/lnd.log
? lndが立ち上がっていることを確認します
? lndのノード情報取得
? $ lncli getinfo
うまく立ち上がりましたか?
ライトニング
ノードインストール
? lnd実行時にエラーが出てませんか
? noencryptwallet=1 にしないと暗号化パスワードを求められます
? lndを立ち上げると、最初は標準出力とログファイル両方にログが吐かれます。一度ログアウトしてログインし直す、
またはシェルを起動し直すと標準出力へのログ吐きは無くなります。
? ログでの立ち上がり確認点
? →のようなメッセージ出てますか
? 最初にブロックチェーンのブロックハッシュの同期が走り始めるはずです
? ノード情報での確認点
? Identity_pubkeyが表示されている
? synced_to_chain=true
? ブロックハッシュの同期が完了するとここがtrueになります
? 問題があった場合は、周りのサポートスタッフを呼んでください
ライトニングノード
セットアップ
? 設定ファイル lnd.conf を設定します
? 2ページ前で行ったように、起動時にオプションとして設定を指定できますが、設定ファイルに書いて
おいたほうが毎回指定する手間が省けます
? 一度lndを立ち上げると自動的に ~/.lnd がlndのデータディレクトリに指定されますが、もしなければ作り
ます
? $ mkdir ~/.lnd
? 設定ファイル lnd.conf を作成します。すでに作成されているかもしれません。
? $ cd ~/.lnd
? $ touch lnd.conf
? 次のページの設定をコピーして lnd.conf にペーストします。
ライトニングノード
セットアップ
[Application Options]
;externalip=xxx.xxx.xxx.xxx:9735
debuglevel=info
noencryptwallet=1
;alias=xxxx
[Bitcoin]
bitcoin.active=1
bitcoin.testnet=1
bitcoin.node=neutrino
bitcoin.defaultchanconfs=1
[neutrino]
;neutrino.connect=faucet.lightning.community
[autopilot]
autopilot.active=1
autopilot.maxchansize=100000
lnd.confの中身
ライトニングノード
セットアップ
? lnd.confで設定する場所の説明です
? externalip=xxx.xxx.xxx.xxx:9735
? 他ノードから見えるノードIPアドレスとライトニングネットワークのポート番号
? xxx.xxx.xxx.xxxになっているところはIPアドレスです。例として192.168.0.1などを入れます。
? 立ち上げるだけなら不要です
? TCP: 9735番ポートを使って他のライトニングノードとメッセージを取り交わします
? noencryptwallet=1 <- テストネットなので設定します
? alias=xxxxxx <- ノードニックネーム。立ち上げるだけなら不要です
? bitcoin.active=1 <- ビットコインのP2Pネットワークに接続します
? bitcoin.testnet=1
? どのネットワークに接続するかを指定します。ここではテストネットを指定
ライトニングノード
セットアップ
? bitcoin.node=neutrino
? 使用する接続先ビットコインフルノードとしてneutrinoを設定
? ハンズオンでは短時間でノード立ち上げをしないとなのでneutrinoを選択しています
? bitcoin.defaultchanconfs=1
? 他ノードに対して要求するチャネルをはる時に待つ承認数を1にします
? テストネットなので1承認に。メインネットでは1承認では少なすぎで最低でも3承認必要です。
? neutrino.connect=faucet.lightning.community
? neutrinoの接続先を指定。ブロックヘッダの取得、トランザクションのブロードキャスト先として指定されます。
? 指定しなくても自動的にP2Pネットワーク上のbtcdが選ばれます。ただ探すの時間がかかるため、直に指定してしまっ
たほうが時間の節約になります。
? autopilot.active=1 <- オートパイロットをオン。自動的に他ノードに接続しチャネルをはります。
セットアップは以上です
。

More Related Content

ライトニングノードをたててみよう