SproutsのWalletをLinuxで使おう(Ubuntu 16.04.4 LTS)

2018/08/17仮想通貨Wallet, Ubuntu, Sprouts, VPS

やることはStronghandsのときとだいたい同じ()
今回も日本国内で割と?人気な仮想通貨のWalletのお話。

もやしコインこと、Sproutsです。
もやたすカワイイよもやたす(*´Д`)ハァハァ

もともと海外で作られたものが、紆余曲折あって現在の開発・運営拠点は日本国内のチームが行っています。
純日本産ではないですが現在は日本のコミュニティが運営中、というあまりない軌跡を辿ってきている面白いコインです。

紆余曲折のアレコレはDiscordのAdminさんのブログが参考になりますね。
SproutsとAuxilium(旧Sprouts+)との違いについて

無事HFも終え、これからますます応援したくなるコインです。

それでは行ってみましょう。

使用するサーバー環境

今回も使用するサーバーは以下の通り。

SERVER : KAGOYA VPS (KVM)
SPEC : 2Core / 2GB / 30GB SSD
OS : Ubuntu 16.04.4 LTS

KAGOYAのVPSは日額課金で使用できるので、ちょっとしたときにサクッと使えて便利。
手軽にVPSを使うならKAGOYAかConohaが割と無難な感じがします。
価格勝負なら激安海外VPSにチャレンジするのもアリ。
慣れないうちは痛い目見る可能性が高いのでご自身のスキルに合わせてご利用ください。



※Ubuntuの初期設定を別記事でまとめました。
よかったら参考にしてくださいな。
KAGOYAのVPSでUbuntuを初期設定しよう
KAGOYAのVPSでUbuntuを初期設定しよう その2

Walletのダウンロード

まずは最初のおまじない。
gitのインストールもついでにしておきます。

sudo apt update
sudo apt upgrade
sudo apt install git

続いて最新版のWalletを探してダウンロード。
まずはGitHubを確認。

Release of Sprouts wallet with Peercoin latest applied

wgetでもcloneでもお好きな方でダウンロードしてください。

wget https://github.com/sprouts-coin-org/sprouts/archive/v0.2.1.0.tar.gz
or
git clone https://github.com/sprouts-coin-org/sprouts.git

ダウンロードの確認

wgetの場合、「v0.2.0.0.tar.gz」というファイルがダウンロードできていると思うので、解凍します。

tar -zxvf v0.2.1.0.tar.gz

これで「sprouts-0.2.1.0」というフォルダができています。お好みでリネームを。
自分の場合はこんな感じです。

mv sprouts-0.2.1.0/ sprouts/

git clone ~なら一発ですが()。

ここまでで下準備は完了。
準備ができたらsproutsディレクトリへ移動しておきます。

cd sprouts

Walletのインストール

install.shの実行

./contrib/vagrant/install.sh

以上。

運営側でインストール用のスクリプトを用意してくれているので、ほんとにこれだけで終わります。
(ちょっと時間は掛かりますが)
多少test用のエラーが出たりしますが、問題なくビルドできてます。
さすが日本運営。細かいところまで気配り利いてます。

Walletのインストール(手動)

とはいえ、これだけでは記事として弱い。。。
ので、せっかくなのでスクリプトの中身をちょっと見てみたいと思います。

スクリプトを見てみる

まずはinstall.shから、先程のインストール用スクリプトを見てみます。

cat ./contrib/vagrant/install.sh
#!/bin/bash -ev

sudo apt-get install -y -qq htop
sudo timedatectl set-ntp no
sudo apt-get -y -qq install ntp
sudo ntpq -p

./scripts/sproutsconf.sh

./scripts/dependencies-ubuntu.sh

./scripts/install-ubuntu.sh

インストール前の下準備といったところでしょうか。
時刻合わせとかそのへん。
あ、htopもインストールしてますね。
htopはいいですよ。通常のtopと違って色付きで見やすいですしね。

下準備の次はconfファイル関係。
同じくcatで中身を見てみると、

cat ./scripts/sproutsconf.sh
#!/bin/bash -ev

mkdir -p ~/.sprouts
echo "rpcuser=username" >>~/.sprouts/sprouts.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.sprouts/sprouts.conf

自動的にsprouts.confを作成してくれています。
これまたコインの種類によっては自分で作らないといけなかったりして、気づかずにハマることがあったりするので助かります。
ちなみに私の環境ではこのsproutsconf.shがパーミッションエラーになってました。。。

ご自身の環境によりけりですが、

chmod 755 sproutsconf.sh

等、適切に変更してください。

続いてのコマンドは、、、

cat ./scripts/dependencies-ubuntu.sh
#!/bin/bash -ev

sudo apt-get update -qq
sudo apt-get upgrade -y -qq
sudo apt-get install -y -qq autoconf build-essential pkg-config libssl-dev libboost-all-dev
sudo apt-get install -y -qq miniupnpc libminiupnpc-dev gettext
#for gui
sudo apt-get install -y -qq qtbase5-dev qttools5-dev-tools
sudo apt-get install -y -qq libdb++-dev

こちらで関連パッケージのインストール。
GUI用のパッケージも一緒にインストールされています。

最後が本命のビルド用スクリプト。

cat ./scripts/install-ubuntu.sh
#!/bin/bash -ev

gcc --version
g++ --version

./contrib/install_db4.sh `pwd`
#flags arent being picked up, so need to link
sudo ln -sf `pwd`/db4/include /usr/local/include/bdb4.8
sudo ln -sf `pwd`/db4/lib/*.a /usr/local/lib
./autogen.sh
./configure --with-gui=qt5
make -j$(nproc)
make check
cat ./contrib/install_db4.sh

ちょっと長くなってしまうので中身のコードの掲載は控えますが、仮想通貨界隈でもよく使用されているBerkeley DBの4.8をインストールしています。
仮想通貨と言えばBitcoinなBitcoinが4.8を使用している(2018/07/30現在)ので、他のコインでもよく使われている印象です。
(StrongHandsは5.3でしたが)

Ubuntu 16.04.4 に初期状態でインストールされているのが5.3なので、そのうち5.3で試してみようかな~と思う次第。

残りは特に問題なくビルド。
前述の通り、testスクリプトの変なエラー表示がでたりすることもありますが、問題なくビルドできています。

Walletの実行

無事ビルドが完了していればsrcディレクトリ内にsproutsdという実行ファイルが出来ていると思います。
これを実行領域にコピーして、起動してみます。

cp sproutsd /usr/bin/
cd /usr/bin
sproutsd -daemon

とりあえず状態を確認

sproutsd getinfo

xxxx@xxx-xxx-xxx-xxx:/usr/bin# sproutsd getinfo
{
    "version" : "v0.2.1.0-11-gd137e26-dirty",
    "protocolversion" : 70002,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "newmint" : 0.00000000,
    "stake" : 0.00000000,
    "blocks" : 862193,
    "moneysupply" : 15649298143831.82226562,
    "timeoffset" : 0,
    "connections" : 3,
    "proxy" : "",
    "ip" : "133.18.198.43",
    "difficulty" : 1499.03712497,
    "testnet" : false,
    "keypoololdest" : 1532930951,
    "keypoolsize" : 101,
    "paytxfee" : 0.01000000,
    "checkpoints" : true,
    "errors" : "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
}

こんな感じのが出てればオッケーです。

"errors" : "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"

とでているので初見で「?」となるかもしれませんがtest用のときの文言が残ってしまっているだけみたいで、問題無いそうです。

Portの確認

Sproutsで使用するポートは以下の通りです。

Port : 9901
rpc  : 9902

ufw等、ファイアウォールを設定している場合は、ポート開放をお忘れなく。

後は同期を待つのみ。
Bootstrapとかコマンドとかは次回。

Wallet, Ubuntu, Sprouts, VPS

Posted by gcga