#はじめに
以前Ubuntuの19.04をインストールしていたがこちらの記事を書くときに初期化して18.04をインストールすることになった。
せっかく初期化したのでbtcdとlndの環境構築をまとめてみる。
もうすでにのInstallationでまとめてあるのだが、実際あんなにすんなり進まないこともよく知っている。
なので今回はなるべくInstallation通りに進めて詰まった箇所も含めてレポートする。
#環境
PC:Thinkpad X1 Carbon
OS:Ubuntu 18.04.3 LTS(初期化済み)
#Goのインストール
先ずはGo言語の1.11のインストールと書いてあるが最初のトラップがここにある。
Go1.11では確かlndかbtcdのbuildで失敗する。
知ってはいるが今回はわざと引っかかってみる。
めんどくさいって人は最初からGoの1.13以上をインストールすることを勧める。
'golfing-1.11-go'のパッケージが見つからないと出てきた。
これは予想外。とりあえずGoの最新版をインストールしてみる。
$ snap info go
を実行して最新のGoのversionを確認してみる。
2019/11/01現在では1.13.4がstable版らしい。
$ sudo snap install go
を実行。インストールが完了する。
バージョンを確認。
$ go version
go version go1.13.4 linux/amd64
正しくインストールされた。
次にGOPATH
を設定する。
$ export GOPATH=~/gocode
$ export PATH=$PATH:$GOPATH/bin
をターミナルで実行。
これはターミナルを開くたびに毎回実行しないといけないのでめんどくさい。
なので、
$ vim .bashrc
で`.bashrcファイルを開き、一番下の行に
# GOPATH setting
export GOPATH=~/gocode
export PATH=$PATH:$GOPATH/bin
を付け足し保存する。
これでGOPATH設定を毎回やらなくて済む。
次に/gocode
ディレクトリを作る。
$ mkdir ~/gocode
Goの準備は完了。
lndのインストール
手順通り、
$ go get -d github.com/lightningnetwork/lnd
を実行。しばらく待っても何も起こらないので心配になるがかなり時間差でインストールが完了する。
$ cd $GOPATH/src/github.com
表示されるパッケージ一覧でlightningnetwork
の文字は見つかっただろうか。
ではbuildを始める。
$ cd $GOPATH/src/github.com/lightningnetwork/lnd
$ make && make install
エラーも出ず完了した。
make check
は時間がかかるので割愛。
そのまま
$ make btcd
でbtcdのインストールとBuildをしてくれるので楽チン。
これでbtcdの環境も整った。
確認
$ btcd --testnet --rpcuser=kek --rpcpass=kek
でbtcdがtestnetのblockchainのフルノードを同期し始める。
手順どうり、進捗をbtcctl
で確認する。
別ターミナルを開いて
$ btcctl --testnet --rpcuserkek --rpcpass=lel getinfo
btcctl: command not found
失敗。
環境は整っていなかった…。
やはりbtcdのbuildが必要。
$ cd $GOPATH/src/github.com/btcsuite/btcd
$ GO111MODULE=on go install -v . ./cmd/...
これでbuild完了。
$ cd $GOPATH/src/github.com/lightningnetwork/lnd
$ btcctl --testnet --rpcuserkek --rpcpass=lel getinfo
btcctlもうまく動いた。
$ lnd --bitcoin.active --bitcoin.testnet --debuglevel=debug --btcd.rpcuser=kek --btcd.rpcpass=kek --externalip=127.0.0.1
表示された文字列にActive chain:Bitcoin
の文字が見つかったらうまくいってるということでおけ。