技術情報

Ethereum入門 – アカウントとマイニング

Ethereum

前回はEthereumの概要についてお話しましたが、今回はUbuntu上でEthereumの環境を構築し、マイニングを試してみたいと思います。

Ethereumのインストール

EthereumをPPAレポジトリからインストールするには、次のコマンドを実行します。

インストール完了後、geth コマンドを使用できるようになりますが、まずヘルプを確認してみます。


gethコマンドの書式とバージョン情報等を確認できますが、黄色で囲った枠内に注目してください。オプション –datadir の指定方法に関する箇所では、データベースとキーが /home/(user)/.ethereum ディレクトリに配置されることがわかります。また、今回はアカウントの作成とマイニングの実行に関連したコマンドを確認することが目的のため、–testnet オプションを指定して、検証用にあらかじめ準備されているテスト用のネットワークで動かすことにします。

gethアカウントの作成

gethアカウントを作成するには次のコマンドを使用します。


アカウントが作成されると同時に「9cc」から始まるアドレスも作成されました。アドレス情報は黄色枠内のディレクトリ /home/fuego/.ethereum/keystore に配置されるため、cat コマンドなどで参照すればいつでも確認できます。

gethの起動

gethを起動するには次のようにオプションを指定してgethコマンドを実行します。

カッコ内のネットワークIDとDirectoryの指定については、今回は下記の画面のように指定しましたが、IDについては基本的に好きな数字で構いません。


コマンド実行中のメッセージの黄色枠内に注目すると、ブロックチェーンデータの配置先が確認できます。その後、コマンド入力待ちのプロンプト「>」が表示されれば起動成功です。

送金用アカウントの作成

次にEtherの送金やコントラクトの実行で使用するアカウントを作成します。

カッコ内のpassphraseの箇所には、任意のパスワードを決めて指定してください。


作成後、 eth.accounts コマンドで表示される「0x」から始まる文字列がアカウントのアドレスです。複数個作成した場合は複数のアドレスが表示されます。

念のため、下記のコマンドで残高とブロック数を確認します。


マイニング実行前のため、残高およびブロック数はゼロです。
もしアカウントが複数個ある場合、eth.account[] の各括弧内の数字を例えば「1」で指定すると、2つめのアカウントの残高を確認できます。

マイニング


それではいよいよマイニングを実行します。
miner.start() コマンドでマイニングを開始できます。


ここでしばらく Generating DAG の処理が実行されますが、DAGはハッシュ計算で使用される1GBのデータファイルで、名前は「full」から始まり、実体は .ethash ディレクトリに配置されます。


そして miner.start() コマンドの実行から10分ほど経過した頃、コンソール上に、つるはしのマークが見えてきました。どうやらマイニングが始まったようです!


テストネットワークのため、マイニングし放題といったところですが、miner.stop() コマンドでマイニングを停止できます。ここで、現時点でのEtherを採掘量を確認するため、マイニング開始前に実行した残高確認用のコマンド ether.getBalance を実行してみます。


確かに残高が増えています。ものすごい桁数ですが、表示は「Wei」という単位であり、1Etherは10^18Weiのため、単位を変換すると140Etherとなります。

まとめ

今回はアカウントの作成とマイニングのコマンドを中心に説明しましたが、次回はさらに深く踏み込んでいきたいと考えています。また、Ethereumだけではなく、他ブロックチェーン技術などの技術検証についても実施する予定です。

The following two tabs change content below.
fuego (Tatsumi Akada)
創作に興味のあるサーバーエンジニア。 現在、Webデザイン、ゲームデザイン、CG、スマホアプリ開発について勉強中。 趣味は語学、音楽、シンプルで栄養豊富な料理を作る、など。

Pickup post

  1. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
  2. ブロックチェーンの技術:公開鍵暗号
  3. ブロックチェーンの基本的な仕組み

Related post

  1. Blockchain 技術情報

    技術情報

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

    こんにちは。badyと申します。最近、金融やIT業界の一部では…

  2. Blockchain 技術情報 Hyperledger Composer

    技術情報

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

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

  3. Blockchain 技術情報

    技術情報

    勉強会「初めてでもここまでできるブロックチェーン」第2部の内容紹介

    こんにちは。先日、6月30日に株式会社INDETAILにて勉強会「…

  4. Blockchain 技術情報

    技術情報

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

    ブロックチェーン初心者の自分が、手始めに「WindowsでEthere…

  5. Blockchain 技術情報

    技術情報

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

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

  6. Blockchain 技術情報

    技術情報

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

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

Comment

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

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

最近の記事

  1. Blockchain 技術情報 Hyperledger Composer
  2. INDETAIL × Orb
  3. BHIP PoC 構想イメージ
  4. No Mapsブロックチェーンカンファレンス

おすすめ記事

  1. Raspberry Pi(ラズパイ)でEthereumを動か…
  2. 「ビザンチン将軍問題」と「ブロックチェーン」の関係性
  3. ブロックチェーンを活用した医薬品のデッドストック販売プラット…
  1. Blockchain 技術情報

    技術情報

    DockerでHyperLedger Fabricの実行環境を構築する(v0.6…
  2. Blockchain 技術情報

    技術情報

    JSON-RPC API で geth を便利に使う
  3. データセンター

    ブロックチェーンとは

    ブロックチェーンと分散型データベースの違い
  4. hash function

    ブロックチェーンとは

    ブロックチェーンの技術:ハッシュ関数
  5. 公開鍵暗号方式

    ブロックチェーンとは

    ブロックチェーンの技術:公開鍵暗号
PAGE TOP