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

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

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

はーい。はじめましてー。「軽く熊」です。

普段はスマートフォン(Android)のアプリ開発をしている事が多いのですが、
何がどうして「仮想通貨関連のブログ書いてね」と指示がありましたので
仮想通貨に関して素人な私が勉強しながら記事を書く事になりました。

今回はWindowsイーサリアム(Ethereum)が扱える環境を構築します。


資料として仮想通貨関連の本を渡されたのですが読んでいると 眠く…
いえ、何でもありません。
とりあえずブロックチェーンという技術を使って実現しているのは理解しました。

仮想通貨を利用するだけあればブロックチェーンの事は知らなくても問題ありません。
開発者であれば仮想通貨の仕組みを理解する為に知っておいた方が良いです。
ブロックチェーン - Wikipedia

仮想通貨にはいろいろな種類がありまして有名なビットコイン(Bitcoin)以外にも
イーサリウム(Ethereum)、ネム(NEM/XEM)、ザイフ(Zaif)等いろいろあります。

一昔前ではLinuxMacじゃないとソフトウェアが揃わない状況だったようですが、
今ではWindowsでも普通に使えるくらいなっているらしいので早速試してみます。


突然ですがここでQ&Aです。

●「仮想通貨を扱うには現実のお金が必要?」
最初は仮想通貨を持っていない状態なので「現実のお金」を仮想通貨に換金するか、
マイニングという作業を行って仮想通貨を得る事になります。

●「マイニングって何?」
仮想通貨を操作するとブロックチェーン追記されるのですが、
ブロックチェーン追記するには大量の演算が必要になります。
この演算を代行するのがマイニングと呼ばれる作業であり、
マイニング作業者には演算完了後に報酬として仮想通貨が支払われます。
ちなみにマイニングを行う人をMiner(マイナー:発掘者)と呼びます。

●「送金するだけでも高性能パソコンが必要なの?」
いえ、必要ありません。
仮想通貨を扱う人は送金などによって演算の要求を出しているだけです。
演算要求はマイニングしている世界の誰かに割り振られ、勝手に処理されます。
一般的な普通のパソコンで仮想通貨は扱えますので問題ありません。

●「マイニングをやってみたい!」
マイニングする場合には高性能なGPUを複数搭載したパソコンを用意してください。
演算性能が低いと世界の大勢の方々に演算負けして報酬を得られません。
2018年5月現在でGeForce GTX 1080Ti (約10万円) を4~6枚程度搭載すれば、
レートにもよりますが月数万円は得られるとの話もあります。
ただし、GeForce GTX 1080Ti の消費電力は1枚250Wなので電気料金も数万円になるらしいです。

●「GPUって何?」
GPUとは Graphics Processing Unit の略称です。
元々は3Dグラフィックを処理する為に作られた半導体チップですが、
最近ではその演算能力を3Dグラフィック以外にも使えるようになりました。
マイニングではGPUの凄まじい演算能力を利用して処理能力を数倍~数十倍にします。
GPUは本来グラフィック処理用なので「グラフィックボード」に分類されるパソコンパーツです。

●「仮想通貨では手数料が発生すると聞いたけど?」
手数料として所持している仮想通貨が消費されます。
送金で発生した手数料(仮想通貨)はマイニングを行った人に報酬として支払われます。
送金以外にもブロックチェーン追記する処理を要求をした場合に
マイニングが必要になるので手数料が発生します。
ちなみにブロックチェーンの参照」はブロックチェーン追記する必要が無いので
単純な入金確認等であれば手数料が発生する事はありません。
※これらの手数料はgas(ガス)と呼ばれています。

●「開発者なんだけどテストにお金がかかるの?」
動作環境を大きく分けると3つあります。
1.メインネット → 仮想通貨が価値を持ち、減れば損失、増えれば利益になります。
2.テストネット → 仮想通貨に価値がありません。損失はありませんが、増えても利益にはなりません。
3.プライベートネット → 仮想通貨に価値がありません。損失はありませんが、増えても利益にはなりません。

プライベートネットもしくはテストネットでテストすれば現実のお金は必要ありません。
ちなみにプライベートネットはメンバーを追加しなければ自分しかいない状態なので
仮想通貨を得る為以外にもブロックチェーン追記させる為に自分でマイニングする必要があります。

テストネットではブラウザにMetaMaskをインストールする事により
「MetaMask Ether Faucet」を使って1 Etherづつ貰う事ができます。

Q&A方式で必要な予備知識を説明してみましたッ!
そろそろ面倒になってきたので
今回はこのくらいにして次回から実際に環境構築の説明をします。


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