Help us understand the problem. What is going on with this article?

Ethereum Gethをインストールして開発環境を整える (1)

More than 3 years have passed since last update.

Gethとは、「Go Ethereum」の略で、イーサリアムの全てのノードを操作するためのコマンドラインインターフェースです。Githubの https://github.com/ethereum/go-ethereum からダウンロードできます。
特定のバージョンを希望の場合は、https://geth.ethereum.org/downloads/ からダウンロードできます。
Go言語でかかれていますが、Go言語を扱う必要はありません。

Geth (Go Ethereum)で出来る主なこと

Gethでは、CLIを通じて、さまざまなことが出来るのですが、主に3つのことが出来ると覚えておくとまずはいいと思います。

1.イーサリアム-ブロックのマイニング
マイナーは、マイニングの報酬として、イーサリアム通貨であるEthを受け取ります。
2.イーサリアムのアカウントを作成、管理する。
イーサリアムの通貨であるEtherを保存することも出来ます。アカウント間で、Eth通貨のトランザクションを可能にします。
3.コントラクトを作成するために使われます。
コントラクトは、アカウント間の通貨転送のように、コントラクトを転送することも出来ます。

さて、早速、環境からさくっと整えていきます。

Vagrant環境構築

コンソールを開き、以下のコマンドを打ち込み、ubuntu16.04をインストールします。

対象のフォルダまで、cdで移動する。
$ vagrant box add gbarbieru/xenial https://atlas.hashicorp.com/gbarbieru/boxes/xenial
$ vagrant init gbarbieru/xenial
$ vagrant up
$ vagrant ssh

Geth (Go-Etherum)のインストール

仮想環境に入ったら、以下のコマンドを打ち込みgethをインストールします。かなり簡単にインストールできます。

ubuntu16
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

Gethプロセスの起動

gethとタイプします。起動のメッセージが表示されれば、バックグラウンで起動する状態となります。
通常、ポート30303が開かれ、その他のノードと繋がります。

ubuntu16
$ geth

alt

INFO [11-06|03:32:21] IPC endpoint opened: /home/vagrant/.ethereum/geth.ipc
について。
IPC(Inter-process Communications)は、ローカルコンピュータで動作していることを意味しています。

この状態にしておくと、他のノードとポート30303上でコミュニケートを図ろうとします。以下のようなメッセージが出て、ブロックを受け入れていることがわかります。

ubuntu16
$ INFO [11-06|03:44:55] Imported new block receipts  count=26  elapsed=376.12µs  bytes=104  number=39770 hash=fab379…f739b8 ignored=0

これは、Gethが、geth.ipcファイルをデータディレクトリに置くことで、他のノードとのコミュニケーションプロセスに使われるためです。

2017年現在、クライアントのみで動くgethは開発中のようです。
このままにしておくと、次々にブロックを次々にインポートする状態ですので、一旦、プロセスを終了します。(Ctl+C)

takeoworks
ウェブサービス開発でご相談事があれば、takeo@thebind.io までご連絡ください!
http://thebind.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away