LoginSignup
11
7

More than 5 years have passed since last update.

UbuntuにGeth(v1.8.0)をインストールして同期する

Posted at

ここ数ヶ月、EthereumのクライアントはGethもParityも不安定で苦労している方も多かったかと思いますが、先程Geth v1.8.0がリリースされました。

スクリーンショット 2018-02-14 23.47.28.png

「パワフルなクラウドマシンならFast syncが3時間未満で同期できるよ」
とのこと。すでにunstableな時点で評価してみましたが、たしかに1日未満で同期が完了していたし途中で落ちることもありませんでした。
安定版リリースのタイミングで改めて評価し、その手順と所感をまとめます。

結論

以下の通り 総じて早くなり、安定した ので 以前のように安心して使えるようになった という印象。

  • 3時間未満で同期できた
  • 途中で落ちなかった
  • 相変わらず微妙な挙動もある(だいぶ改善されている)

Gethユーザはすぐに更新するのが良さそうです。
試したGethのバージョン: 1.8.0-stable-5f540757
手順は以下のとおり。

EC2インスタンス作成

  • AMI: Canonical, Ubuntu, 16.04 LTS, amd64 xenial image build on 2017-11-21
  • ストレージ: 100GB
  • インスタンスタイプ: m4.xlarge

それなりのbeefy cloud machineなはずです。

Gethをインストール

sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install -y ethereum

バージョン確認。

$ geth version
Geth
Version: 1.8.0-stable
Git Commit: 5f54075760748ae7f249bf735565924ea885c477
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.9.4
Operating System: linux
GOPATH=
GOROOT=/usr/lib/go-1.9

supervisorでデーモン化しておく

途中で落ちても立ち上げ直すようにsupervisorを入れておきます。

ログ用ディレクトリとsupervisor用のgethの.confファイルも作成。

sudo apt-get install -y supervisor
sudo mkdir /var/log/supervisor/jobs
sudo vi /etc/supervisor/conf.d/geth.conf

内容は以下の通り。

[program:Geth]
command=/usr/bin/geth --fast --cache=2048
user=root
autorestart=true
stdout_logfile=/var/log/supervisor/jobs/geth.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=5
stdout_capture_maxbytes=1MB
redirect_stderr=true

supervisorのreload。

sudo supervisorctl reload

以下のコマンドでログが吐かれていればOK。

tail -f /var/log/supervisor/jobs/geth.log

で、しばらく放置。

結果

冒頭に記載したとおり、問題なく3時間未満(2時間56分程度)で同期は完了しました。
geth attach でconsoleから挙動確認しても問題なし。
途中で落ちたりもしていなかったようです。検証のためだけであればsupervisorも不要だったかもしれません。

しかし、Gethでよくある微妙な挙動はまだ見受けられます。

  • 最後の数十ブロックの同期がなかなか終わらない場合がある
    • ここに数日かかるパターンもあり。放置していればそのうち同期完了する
  • 同期が完了したはずなのに eth.getBalance で残高あるのに 0 が返る場合あり
    • これも放置していると直る印象

などなど。
そうは言ってもだいぶ安定しました。

ここ数ヶ月はメジャーなクライアントでなかなか同期が成功しない、という厳しい状況でしたので今回のリリースは非常にありがたいですね。

ちなみにLight syncでは

スクリーンショット 2018-02-15 0.10.39.png
53秒で同期が完了。Cool!

11
7
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
11
7