SPRTS(Sprouts)コインのWalletをUbuntu 16.04でビルドする

あまり日本語の情報がないようなので、スプラウトのWalletをUbuntuでビルドする方法を共有したいと思います。

スプラウトのWalletのソースコードはいくつかあり、どこに最新があるのかがメチャクチャわかりにくかったですが、以下のリポジトリが最新のようです。

github.com

今回はUbuntu 16.04で作業を行いました。 他の環境でもだいたい同じだと思います。

上記に書いてあるものをまずインストールします。

sudo apt-get install ntp git build-essential libssl-dev libdb-dev libdb++-dev libqrencode-dev libboost-dev qt5-default qt5-qmake -y
sudo apt-get install libprotoc-dev libprotobuf-dev -y
sudo apt-get install libpng-dev qrencode -y
sudo apt-get install libqrencode-dev -y

※ここでインストールするqrencodeが何故か後でリンクエラーになってしまう

いくつか不足しているので追加で以下のものもインストールします。

sudo apt-get install qttools5-dev-tools -y
sudo apt-get install libminiupnpc-dev -y
sudo apt-get install libboost-system-dev -y
sudo apt-get install libboost-filesystem-dev -y
sudo apt-get install libboost-program-options-dev -y
sudo apt-get install libboost-thread-dev -y

そして、qrencodeを以下のリポジトリからクローンして持ってきます。

github.com

git clone https://github.com/fukuchi/libqrencode.git
cd libqrencode

そのままqrencodeのビルド手順通りに./configureすると後でうまくいかないので、configureする時の引数を以下のようにします。

./configure --enable-static --disable-shared --without-tools --disable-dependency-tracking

それからqrencodeをビルドしてインストールします。

make
sudo make install
sudo ldconfig

ここで一旦戻り、sproutsのリポジトリをクローンします。

cd ../
git clone https://github.com/gjhiggins/sprouts
cd sprouts
qmake USE_O3=1 USE_QRCODE=1 FIRST_CLASS_MESSAGING=1 RELEASE=1 USE_UPNPC=1

ここでmakeするとリンクエラーになるため、Makefileを少しいじります。

LIBS          = $(SUBLIBS) -L/usr/X11R6/lib64 -Wl,-Bstatic -lqrencode -lminiupnpc -lrt -lssl -lcrypto -ldb_cxx -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -Wl,-Bdynamic -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lpthread -lGL

となっているところを

LIBS          = $(SUBLIBS) -L/usr/X11R6/lib64 -Wl,-Bstatic -lqrencode -lminiupnpc -lrt -lssl -lcrypto -ldb_cxx -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -Wl,-Bdynamic -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lpthread -lGL -ldl

に変更します。 そこからmakeします。

make

うまくいけば、makeしたディレクトリにsproutsという実行ファイルができているでしょう。

環境設定ファイル群を作成するため、一度実行させます。 そして、node設定を行うためにすぐに終了させます。

終了させたら https://www.coinexchange.io/network/peers/SPRTS のページの左の方の「Addnodes」の下にあるノードのリストをコピーします。

こういうやつ

addnode=34.228.227.193
addnode=88.198.68.186
addnode=2601:589:c400:f2a0:d47:4d21:a966:4c0a
addnode=73.204.161.55
addnode=84.226.191.14
addnode=84.50.52.174
addnode=51.254.45.117
以下略
:

全部コピーしたら

~/.sprout/sprouts.conf

に貼り付けて保存します。

これをしてからもう一度sproutsを起動させて、しばらく(まる一日以上かかるかも?)ほっとくと同期が完了します。 そのうち同期が簡単に終わるようにbootstrapを配布しようかと思います。

あとGUIなし版のWalletのビルド方法の需要があればそれも。