前回は簡単なDappを作ってみようということで、どのようなDAppを作るか考えました。
今回は作成するDAppを開発するための環境を作っていきたいと思います。
目次
(全て書き終わったら作成)
私の環境
OS: Windows 10 64bit
CPU: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
RAM: 32.0 GB
ブラウザ: Google Chrome
イーサリアムクライアント
自分のマシン上でイーサリアムノードを実行できるソフトウェアを指します。
まずは、このソフトウェアをインストールする必要があります。
イーサリアムクライアントにもGethやErigon, Besuなどいろいろ種類があるようです。
その中で今回はGethを使用します。
GethはGo Ethereumの略です。Go言語で作られ、現在最も多くのユーザがおり、ユーザや開発者向けのツールも豊富です。
公式ページのDownloadsで「Geth 1.10.15 for Windows」を選択し、インストーラ(2022/01/30現在のバージョンは1.10.15)をダウンロードし、インストールします。
インストールが完了すれば、インストールパスにGeth.exeがあるので、環境変数PATHにインストールパスを加えてください。そうすれば、PowerShellなどのコンソールからGethコマンドを使用できるようになります。
MetaMask
MetaMaskは人気のある仮想通貨ウォレットの一つです。
ウォレットがあればユーザがイーサリアムクライアントを実行しなくても、アプリケーションを利用することができます。
MetaMaskはChrome, Firefox, Opera, Braveで利用可能です。
以下から、ダウンロード/インストールができます。
https://metamask.io/
私はChromeを使用しているので、ChromeのMetaMask拡張機能をインストールしました。
Node.js
DAppを作る際にJavaScriptの実行環境であるNode.jsを使用します。
以下にアクセスし推奨版(2022/01/30現在のバージョンは16.13.2LTS)をダウンロード/インストールします。
https://nodejs.org/ja/
Truffle Suite(トリュフ スイート)
イーサリアムの開発用フレームワーク(?)です。Truffle Suiteの一部であるTruffleとGanacheをこれからインストールしていきます。
Truffle
TruffleはDapp開発環境を提供してくれます。スマートコントラクトのコンパイルやテスト、デプロイなどを行ってくれます。
Truffleのグローバルインストールは以下のコマンドを実行します。
$npm install -g truffle
バージョンも確認しておきます。
$truffle version
Truffle v5.4.31 (core: 5.4.31)
Solidity - 0.8.11 (solc-js)
Node v16.13.2
Web3.js v1.5.3
Truffle以外にもSolidityやWeb3.jsなど、Dapp開発に必要なライブラリがインストールされていることがわかります。
Ganache(ガナッシュ)
Ganacheはパーソナルブロックチェーンを実現するソフトウェアです。Ganacheを使うことで、パーソナルブロックチェーン上で迅速にDappの開発、テスト、デプロイができます。
以下からGanacheをダウンロード/インストールします。
https://trufflesuite.com/ganache/
まとめ
Dapp開発環境構築のために以下をダウンロード/インストールしました。
色々インストールしたので、何がどのような役割なのか理解する必要があります。
- イーサリアムクライアント(Geth)
イーサリアムノードを実行するためのソフトウェア。 - MetaMask
仮想通貨ウォレット - Node.js
JavaScript実行環境 - Truffle Suite(Truffle, Ganache)
TruffleはDapp開発環境で、Ganacheはパーソナルブロックチェーンを実現するソフトウェア
次回はDappのHello, Worldを作成する予定です。