技術情報

Macにgethを入れてEthereumの内部通貨etherを手に入れる

Blockchain 技術情報

こんにちは。badyと申します。

最近、金融やIT業界の一部ではブロックチェーンが話題となっていますね。書籍やWeb上など、至るところでブロックチェーンの概念や仕組みに関する記事を見かけることが多くなってきました。

しかしその一方で、「実際にブロックチェーンを使うにはどうすればいいのか?」といった、技術者寄りの情報はまだあまり多くないように感じます(あったとしても英語の記事が多いですね)。

そこで本記事では、ブロックチェーン・プラットフォームの一つである「Ethereum」を、手元のMac(OS X El Capitan 10.11)を使って利用してみたいと思います。今回は導入ということで、Ethereumの内部通貨であるetherの採掘までを試してみたいと思います。

Gethのインストール

まずEthereumクライアントの一つであるGethをインストールしてみましょう。

MacであればHomebrewを使うことで簡単にインストールすることができます。

インストールが成功したか確認するためには、次のコマンドを実行しましょう。

コマンドのオプション情報が表示されればインストール成功です。

プライベート・ネット用のディレクトリ作成

Ethereumには不特定多数のノードが参加しているライブ・ネットのほか、限られた参加者のみが参加出来るプライベート・ネットがあります。今回はテスト用として、プライベート・ネットを作成してその中で作業していきたいと思います。

まずはプライベート・ネットのデータを保存するためのディレクトリを、任意の場所に作成しておきましょう。

genesisファイルの作成

次に、先ほど作成したディレクトリの下にgenesis.jsonという名前のファイルを作成します。中身は下記のようにしましょう。

このgenesis.jsonファイルは、ブロックチェーンの一番最初のブロックであるgenesisブロックの情報を記述したjson形式のファイルとなっています。

genesisブロックの初期化

genesisファイルを作成したら、その内容に沿ってブロックチェーンの情報を初期化します。

–datadirで指定した先のディレクトリに、genesisブロックの情報が保存されました。

Gethを起動しプライベート・ネットに接続

ここまできたら、いよいよgethを起動します。次のコマンドを実行してみてください。

Welcome to the Geth JavaScript console!

という文字が表示され、gethのコンソールに入ることができたら成功です。処理結果はprivate_geth.logとしてログファイルを出力するようにしています。

先ほどのコマンドでは、まず–networkidオプションで任意の整数を指定することでプライベート・ネットを立ち上げています。この例では10ですね。
次の–nodiscoverオプションでは、マシン間のノード検知のプロセスを無効化しています。つまり、自分のPCの中だけでノードを接続するようにするということです。
また、consoleを付与することにより、Gethが用意しているコンソールを立ち上げることができます。

アカウントの作成

実際にetherを採掘したり、送金したりするためにはEOA(Externally Owned Account)と呼ばれるEthereum上のアカウントが必要になります。登録されているアカウントはeth.accountsで表示することができますが、まだアカウントを作成していないため、何も表示されません。

gethコンソール上ではpersonal.newAccount(“password”)形式のコマンドを実行することでアカウントを作成することができます。発行したアカウントのパスワードは復元できないので絶対に忘れないようにしましょう!

eth.accountsで確認すると、

どうやらちゃんと作成できたみたいです。

etherの採掘

アカウントの作成が完了したので、実際にノード間でやり取りされるetherを採掘してみましょう。採掘はminer.start()で行えます。

マイニングが開始されました。採掘状況の確認にはeth.hashrateを使用します。0でなければ採掘が行われています。

採掘できていないみたいですね…。

どうやら最初の採掘はDAGというデータセットを作成してからではないとできないみたいです。ログを確認してみるとDAGを生成する様子が記録されていました。

DAGを生成し終えるまでかなり時間がかかるようなのでゆっくり待ちましょう(だいたい10~20分くらいかかるようです)。

DAGの生成が100%になったら、もう一度eth.hashrateで採掘できているか確認してみます。

今度はちゃんと採掘できているみたいですね。eth.blockNumberコマンドで、実際にどれだけのブロックを採掘したのかも見てみましょう。

結果から、75個のブロックを採掘したようです。

ここまでできたら一旦採掘を止めましょう。採掘を停止させるにはminer.stop()を実行します。

eth.getBalance(address)コマンドで採掘の報酬であるetherの残高を確認できます。

先ほど作成した0番目のアカウントがetherを所持していました!

まとめ

macにgethをインストールし、無事にetherの採掘を行うことができました。

まだ初歩の初歩ではありますが、そこまで難しい手順ではなかったと思います。

ブロックチェーンの仕組みは少々難解でとっつきにくいと感じている方も多いと思われますが、こういった簡単なところから触れていくことで、ブロックチェーンの全容を理解することの助けになるのではと考えています。

私自身もまだまだ理解仕切れていない部分があるので、少しずつ勉強していきたいと思っています。

それでは今回はこの辺りで失礼させていただきます。
最後まで読んでいただきありがとうございました。

The following two tabs change content below.
bady
2016年卒の2年目エンジニアです。 ペーペーの新米ですが頑張ります!

Pickup post

  1. ブロックチェーンの技術:公開鍵暗号
  2. 【参加無料】2018年1月24日 エンジニア向けブロックチェーン無料セミナー開催…
  3. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
  4. ブロックチェーンの基本的な仕組み

Related post

  1. Blockchain 技術情報

    技術情報

    DockerでHyperLedger Fabricの実行環境を構築する(v0.6.1向け)

    はじめまして。最近BlockChainを触り始めたlumberです。…

  2. Blockchain 技術情報

    技術情報

    DockerでHyperLedger Fabricの実行環境を構築する(v1.0.0-alpha向け…

    はじめまして。最近BlockChainを触り始めたzukaです。B…

  3. Ethereum

    技術情報

    Ethereumで複数ノードをつなげてプライベートネットワークを作ってみる

    以前本Blog内にて各OS別Ethereumのインストール及び簡単な操…

  4. Blockchain 技術情報 Hyperledger Composer

    技術情報

    Hyperledger Composerのチュートリアルをやってみる

    はじめにPoCが一段落し、さらにブロックチェーンを使って実装の知識…

  5. Blockchain 技術情報

    技術情報

    IBM bluemixで HyperLedger Fabricの環境を構築してみる

    6月上旬となり一年ですごしやすい日々が続くはずの北海道ですが、日々シラ…

  6. Blockchain 技術情報

    技術情報

    JSON-RPC API で geth を便利に使う

    ブロックチェーンは、今後多くのサービス・システムに利用されることが期待…

Comment

  1. 本記事に対するコメントはまだありません

  1. 本記事に対するトラックバックはまだありません

最近の記事

  1. イベント情報
  2. Blockchain 技術情報 Hyperledger Composer
  3. INDETAIL × Orb

おすすめ記事

  1. ブロックチェーンの基本的な仕組み
  2. Ethereum入門:5分でわかるEthereum(イーサリ…
  3. Hyperledger Composerのチュートリアルをや…
  1. イベント情報

    イベント情報

    【参加無料】勉強会「初めてでもここまでできるブロックチェーン」 6月30日開催!…
  2. Blockchain 技術情報

    技術情報

    JSON-RPC API で geth を便利に使う
  3. hash function

    ブロックチェーンとは

    ブロックチェーンの技術:ハッシュ関数
  4. INDETAIL × Orb

    イベント情報

    12月1日北海道初開催!エンジニア向け OrbDLTハンズオンセミナー★参加申し…
  5. BHIP PoC 構想イメージ

    トピックス/業界動向

    ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
PAGE TOP