steemd をビルドして起動する

Words
349
Reading
2 min
Listen
Play
8y

matrix-2354492_1280.jpg

ちょっと込み入ったことがやりたくなったので、表題の通り、steemd を動かしてみます。

ref. Exchange Quickstart

ドキュメントによると、AWS の場合は

A good recommended instance in AWS is the i3.2xlarge

とのことなので、今回は Azure でそれと同等のスペックである Standard L8s(8 vCPU、64 GB メモリ)を選択します。L シリーズは、ストレージ最適化されたタイプです。

OS は Ubuntu 18.04 を選択。Disk については

at least 220GB of fast local SSD storage.

とのことなので、OS Disk を Premium SSD 512 GB にしておきます。また、

We recommend using docker to both build and run STEEM for exchanges.

とのことなので、Docker を使ってセットアップしていきます。

以下、Docker をインストールするところまで終わらせているという前提で書いていきます。

ビルド済みの Docker image も提供されているようですが、今回は image をビルドするところからやってみようと思います。ということで、プロジェクトをダウンロードして素直に docker build を実行します。ビルド過程の中でテストも走らせてくれるようです。

 $ git clone https://github.com/steemit/steem
 $ cd steem
 $ docker build -t=steemit/steem .



…と、これが長い。ドキュメントにも

It will anywhere from thirty minutes to a couple hours depending on how fast your equipment is.

と記載があるのでしょうがないです。気長に待ちます(1 時間半程度かかりました)。

ビルドが終わったら、一応 docker images を実行して確認してみます。

 $ docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
 steemit/steem       latest              4d318ab64548        8 seconds ago       2.14GB
 phusion/baseimage   0.9.19              c39664f3d4e5        2 years ago         226MB



無事ビルドできているようなので、続けてホストマシン側にデータ保存用のディレクトリを用意します。

 $ cd $HOME
 $ mkdir blockchain
 $ mkdir steemwallet



さて、準備完了です。ビルドした image を元に container を起動します。TRACK_ACCOUNT にはとりあえず自分を指定しておきます。その他、以下の点に注意します。

  • 用意したホストマシン側のデータ保存用ディレクトリをマッピングする
  • P2P のために 2001 番ポートに対するアクセスを許可する必要があるので、事前に調整しておく
 $ docker run -d --name steemd-exchange --env TRACK_ACCOUNT=m0t0k1ch1 --env USE_PUBLIC_BLOCKLOG=1 -p 2001:2001 -p 8090:8090 -v $HOME/steemwallet:/var/steemwallet -v $HOME/blockchain:/var/lib/steemd/blockchain --restart always steemit/steem



問題なければ、block_log のダウンロードが始まります。が、

Initial syncing will take between 6 and 48 hours depending on your equipment, faster storage devices will take less time and be more efficient.

データの同期には 6 〜 48 時間程度かかるそうなので、続きはまた後日まとめようと思います。


※ 追記(2018-12-10)



この後、block_log の取り込みは正常に完了したようなのですが、原因不明のエラーですぐに P2P のコネクションを切られてしまう問題が発生してしまい、正常稼動には至っていません。調査中です。

steemd をビルドして起動する | Ecency