1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntuでlndとbtcdの環境を構築してみる

Last updated at Posted at 2019-11-01

#はじめに
以前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の文字が見つかったらうまくいってるということでおけ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?