DAppsの開発環境を設定していきます。
#ツール
主に以下のものが必要になってきます
・Homebrew
Homebrewのインストールから操作まで
・Docker
Dockerインストールメモ
・Ganache
Windowsはこちらから
Macはこちらから
・Node.js
$ brew node install
・Truffle
$ brew install -g truffle//@4.1.1バージョン指定が必要な場合
・Geth
$ brew install ethereum
#ネットワークとは
Ethereumのブロックチェーンアプリを開発する際には、ネットワークに参加してブロックチェーンをしようしていく必要があります。
ブロックチェーンにおけるネットワークの仕組みを理解しておきたいと思います。
今までは、サーバー型モデルと呼ばれる、サーバーがテータを保持し提供する仕組みが一般的でした。
ですがブロックチェーンではP2Pと呼ばれる、各ピア(それぞれのデバイスのこと、ノードともいう)がデータを保持し、互いにデータの提供、要求を行う自律分散型の仕組みで成り立っています。
#ネットワークの種類
実際にブロックチェーンのアプリを開発する際には3種類のネットワークがあります。
###メインネット
メインネットは実際の世界で使われているブロックチェーンです。
本番の環境ですので何かをやり取りする際には実際のETHが必要になります。
また、一度デプロイしてしまうとかき消すことはできません。
###テストネット
メインネットにデプロイする前に開発したものがきちんとどうだするか確認するための「実験場」のようなものです。
ここでのトークンは市場価値がありません。
イーサリアムの代表的なテストネットは
・Rospoten
・Kovan
・Rinkeby
だだ、テストネットもネットに繋がっており攻撃を受けることがあり、どのテストネット一長一短あります。
Ethereum の各種テストネット比較
###プライベートネット
構築者自身により構築されるネットワークのことで、個人や組織内で主に使います。
#プライベートネットの構築
##go-ethereumで構築する場合
Geth(Go Etherium)のプライベートネットワークの立ち上げ方法
規格のアップデートがあり仕様が変わってる部分があったなと感じたため
Gethを使ったプライベートネットの立ち上げはあまりお勧めではないです。
##gethoを利用した場合
株式会社Popshoot提供する、プライベートネットをすぐに構築できるプラットフォームサービスを利用すれば簡単に構築することができます。
https://getho.io/
##終わりに
ブロックチェーンにネットワークの仕組みな関してある程度理解できました。