プラスプラス開発者ブログ

岩手県盛岡市のシステム開発会社「株式会社プラスプラス」の開発者ブログです。

WindowsでEthereum環境構築はじめました。その2

今日はラップな「軽く熊」ですYO! Yeah!

まずはWindows10でEthereumが利用できる環境を作ります。
しかし、etherに換金する資金もマイニングに必要な大量GPU環境も無いので
無料で開発が出来るプライベートネットを作る事にします。
※なお環境構築にはgeth.exeを使いますのでコマンドプロンプトが使える必要があります。


使用しているPC環境はこんな感じです。参考までに。

  • OS:Windows10 Pro 64bit
  • CPU:i7-4770 3.4GHz, 4core/8thread
  • メモリ:16GB
  • GPU:CPU内蔵型 Intel HD Graphics 4600

※実はGeForceが支給されているのですが 取付が面倒 作業が忙しくて取り付けていません(汗)

●必要なソフトをダウンロードする

※2018/05/22 時点での作業の為、時間が経過している場合には
ソフトウェアのバージョンアップにより互換性が無くなっている
可能性がある事に注意してください。



まずは下記サイトからEthereum-Walletをダウンロードします。
開発目的であればMistも一緒にダウンロードします。
Ethereum Wallet and Mist
Ethereum-Wallet-win64-0-10-0.zip (63.7 MB)
Mist-win64-0-10-0.zip (61.6 MB)

次はgeth.exeをダウンロードします。Hey! Brother! ゲットだぜ!
Go Ethereum Downloads
geth-windows-amd64-1.8.8-2688dab4.zip (11.13 MB)


とりあえずCドライブにEthereumフォルダを作成します。
作成したフォルダにダウンロードしたzipファイルを解凍して下記構成を作ります。
(説明の為に下記構成にします。フォルダ構成が異なっていても構いません。)

c:\Ethereum
│ 
├Ethereum-Wallet-win64
│     Ethereum-Wallet.exe
├geth
│     geth.exe
│     genesis.json ← 後で作成する。後述。
└Mist-win64
      Mist.exe


●プライベートネットを作成する

下記内容をgenesis.jsonとして保存してgeth.exeと同じフォルダに置きます。
chainIdは後でnetworkidとして使用しますので覚えておいてください。
値は任意の32bit整数値にします。

{
    "config": {
        "chainId": 1234567890,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "difficulty": "0x200",
    "gasLimit": "2100000",
    "alloc": {
    }
}


スタートメニューの「システムツール」から「コマンドプロンプト」を起動します。

最初にgeth.exeが置いてあるフォルダに移動します。

 > cd Ethereum\geth


下記コマンドによりgeth.exeを使って環境を初期化します。

 > geth --datadir ./test1 init ./genesis.json


エラーが出ていなければさらにコマンドを実行します。

 > geth --networkid 1234567890 --port 50303 --datadir ./test1 --maxpeers 0 --nodiscover console  2>>node.log


※1 --networkid は genesis.json の chainId と同じ値にします。
※2 --port 50303 の値は 30303 以外の値を使うのが決まりらしいです。

エラーが無ければgethコンソールの入力状態になり、プライベートネットが構築された状態になります。
コマンドプロンプトはこのままの状態で終了させないでください!


●Ethereum-Walletで動作確認する

Ethereum-Wallet-win64フォルダの中にあるEthereum-Wallet.exeを起動します。

f:id:plusplus-calc_kuma:20180604145910p:plain
起動には少々時間が掛かりますが、
画面に「LUNCH APPLICATION」が表示されたらその文字をクリックします。

Ethereum-Walle が起動します!
f:id:plusplus-calc_kuma:20180604152125p:plain
まずはメニューの「アカウント」→「新規アカウント」でアカウントを作成します。
必要なのはパスワードだけです。

f:id:plusplus-calc_kuma:20180604170337p:plain
「パスワードを入力してエンター」を2回実行すれば
アカウントが作成されてEthereumが使えるようになります!

f:id:plusplus-calc_kuma:20180604175418p:plain
作成後に表示されるバックアップを取って置いてくださいの警告。

f:id:plusplus-calc_kuma:20180604174942p:plain
無事アカウントが作成されました!
仮想通貨のアドレスは銀行の口座番号に相当します。

仮想通貨のアカウント(パスワード)は非常に大切なものになるので
バックアップは勿論、流失等にも注意して扱ってください。


仮想通貨は銀行のように管理している人が居るわけではないので、
アカウントを喪失すると仮想通貨の操作が一切できなくなるので非常に危険です。

銀行であれば暗証番号を忘れてもフルセット(通帳、身分証明書、印鑑等)を
持っていけば対応してくれますが、仮想通貨ではそれが出来ません。
※個人のミスで仮想通貨を操作できなくなる(失う)事を「セルフGOX」と呼んだりします。


話が少しそれましたが今度はコマンドプロントに戻って作成したアカウントを確認します。

 > geth account list


Ethereum-Walleで作成したアカウント(アドレス)が表示されればOKです。

アカウントがある状態で下記コマンドを実行するとマイニングが開始されます。

 > miner.start(1)


引数の1は使用するCPUスレッド数です。
実行するとnullと表示されて動き始めます。
成功しているのにnullと表示されるのが嫌な感じです。
エラーがnullで問題無いという意味なのかも知れませんが…多分。

CPUスレッド数を大きな値にすればマイニング速度は上がりますが、
Windows の処理が間に合わなくなって一般操作が遅くなる事があります。
CPUのコア数、スレッド数に合わせて調整してみてください。

これでマイニングが開始されたのですがすぐには何も起きません。
10分くらい経つとEthereum-Walletのウインドウでetherが増え始めます。

f:id:plusplus-calc_kuma:20180607151246p:plain
増えているーッ!etherがドォォーンッ!と増えているぞーッ。

これでプライベートネットですがEthereumが利用できる環境が構築されました!

●終了の仕方

最後に構築した環境の終了の仕方です。
Ethereum-Walle は×ボタンで普通に終了して問題ありません。

コマンドプロンプトに移ってマイニングを終了するコマンドを実行します。

 > miner.stop()


true が表示されれば停止の成功です。


gethコンソールは「Ctrl押しながらDキー」で終了できます。
後はコマンドプロンプトを閉じて終了です。

次回起動時に「●プライベートネットを作成する」の部分から再度実行すれば
終了時の状態から復帰できます。

2018/05/22現在のメインネットの1etherの価格は約76,000円です。
620etherだと時価にして約4700万円…ランボルギーニを買ってもお釣りが来ます。
メインネットでこんなにマイニング出来たら仕事しな…

次回は実際にプライベートネット内で送金実験です。


シリーズ記事
WindowsでEthereum環境構築はじめました。その1
WindowsでEthereum環境構築はじめました。その2 ← この記事だよ!
WindowsでEthereum環境構築はじめました。その3
WindowsでEthereum環境構築にAndroidくわえました。
WindowsでEthereum環境構築でスマートコントラクトはじめました。
イーサリアムのスマートコントラクトで何ができる?
Androidでmetamask不要のウォレットアプリをビルドする
WindowsでEthereum環境構築でスマートコントラクト、JavaScript実行編