テストネットワークを使おう!Gethの起動方法【初心者向け】

初心者向けにGethに起動方法について解説しています。genesis.jsonの作成からGethの起動までの手順を実際のプロジェクトを使って説明しているので、参考にしてみてください。コマンドをそのまま入力すれば実行することができます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、Gethの起動方法を解説していきます。

Gethをインストールし、最初に起動する際に必要なコマンドなどを解説しているので、実際に入力しながら確認してみましょう。

 

なお本記事は、TechAcademyのブロックチェーンオンライン講座の内容をもとに作成しています。

 

田島悠介

今回はGethを起動する手順を確認していこう。

大石ゆかり

田島メンター!最初は何をすればいいですか~?

田島悠介

まずはgenesis.jsonというファイルを作成するんだ。ファイルに入力する内容についても説明するよ。

大石ゆかり

お願いします!

Gethとは

GethとはEthereum(イーサリアム)が提供しているクライアントソフトで、Go Ethereumの略称です。

Ethereumについては、アルトコインの一つとして解説しています。

Ethereumを操作する上で通常はコマンドラインという文字列だけで操作を行います。

この時クライアントソフトを利用することで、WindowsやMacのようなグラフィカルインターフェース上で、Ethereumの様々な操作が可能になります。

GethはGo Ethereumという名の通り、Go(golang )というプログラミング言語により実装されています。

Gethを利用することで、簡単にCPUマイニングを行うことができます。

マイニングとは、ブロックチェーンの次のブロックを生成するために計算を行い、最初に計算結果を求めたノードに報酬としての仮想通貨が支払われることです。

ノードとは、ブロックチェーンに接続されているクライアント端末のことで、パソコンやスマートフォン等の機器です。

今回は、Ethereum関係の解説ですので、ここで言う仮想通貨は、Ether(Ethereumの仮想通貨)を意味します。

 

Gethの起動方法

genesis.jsonの作成場所

genesis.jsonファイルを作成します。

Windows環境であれば、インストール時に作成した、Geth1.8.2フォルダの中に、プライベートネットワーク用のフォルダを作成します。

Gethをインストールしていない方は、Gethのインストール方法の記事を先にご覧ください。

今回は、次のようなフォルダ構成にします。

 

C:\tools\ethereum\Geth-1.8.2\home\private\genesis.json

homeは、linux環境でも一般的に利用されるユーザーフォルダが格納されているフォルダを意味します。

privateは、今回プライベートネットワークの設定を行いためprivateという名称にしています。

 

genesis.jsonの作成

Gethの起動にあたってgenesis.jsonという起動に必要なファイルを作成します。

次のgenesis.jsonファイルを利用することで最初のブロックを作成します。

次のgenesis.jsonファイルはGethの公式Githubに記載されているgenesis.jsonの内容を利用しています。

genesis.jsonの中身

{
  "config": {
    "chainId": 15,
    "homesteadBlock": 0,
    "eip155Block": 0,
    "eip158Block": 0
  },
    "difficulty": "200000000",
    "gasLimit": "2100000",
    "alloc": {
      "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
      "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
  }
}

 

田島悠介

ファイルを作成したらcdコマンドでその場所に移動しよう。

大石ゆかり

ここからはコマンドプロンプト(ターミナル)を使うんですね。

田島悠介

そうだね。以下の手順でやってみよう。

 

コマンドプロンプトでgenesis.jsonの場所へ移動

Windowsのコマンドプロンプトを開いて、genesis.jsonが格納されているフォルダまで移動します。

移動はcdコマンドを利用します。

移動コマンド

cd C:\tools\ethereum\Geth-1.8.2\home\private\

解説

cdは移動を意味するコマンドです。

初期化処理

genesis.jsonが格納された位置まで移動したら次のコマンドで初期化処理を行います。

初期化コマンド

geth --datadir init genesis.json

解説

gethでGethを呼び出しています。

–datadirでデータディレクトリ(フォルダ)を指定しています。

initで初期化することを指定しています。

genesis.jsonで初期化するファイルを指定しています。

 

初期化処理成功

初期化処理が成功した場合、次の内容がコマンドプロンプトに表示されます。

Successfully wrote genesis state

 

Geth起動

genesis.jsonが格納されているフォルダで次のコマンドを実行することでGethの初回起動を行うことができます。

コマンド

geth --genesis genesis.json --datadir ./data --networkid 15 --nodiscover --maxpeers 0 console

Geth起動成功

起動が成功した場合次のような表示がされます。

Welcome to the Geth JavaScript console!

 

今回は、Gethの起動方法を解説しました。

 

田島悠介

Gethを起動するまでの一連の流れを紹介したよ。

大石ゆかり

genesis.jsonファイルを作成してからコマンドでその場所に移動、初期化処理を行ったあとに起動ですね。

田島悠介

作成したgenesis.jsonファイルの場所は、必ず把握しておくようにしよう。

大石ゆかり

了解です。ありがとうございました!

また、オンラインのプログラミングスクールTechAcademyでは、ブロックチェーンオンライン講座を開催しています。

ブロックチェーン技術の仕組みを理解し、実際に分散型アプリケーションを開発することができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。