LoginSignup
5
1

More than 3 years have passed since last update.

Windows 10へのGanache + Truffle + MetaMask導入手順とETH送金テスト

Last updated at Posted at 2021-01-23

ブロックチェーンアプリケーション開発のために、Windows 10に以下のソフトウェアをインストールします。最低限導入しておけばよさそうなのは以下4つ。

  • Node.js
  • Truffle
  • Yarn
  • Ganache

Node.jsの導入確認

コマンドプロンプトで下記コマンドを実行し、インストール状況を確認。以前導入していたバージョンが入っていました。

C:\Users\chimy>node -v
v13.3.0

C:\Users\chimy>npm -v
6.13.1

未導入の方は、以下を参考に導入しましょう。
Windowsの場合は、インストーラに従いGUIベースで実行していくだけなので、迷うポイントはないと思います。

Truffleのインストール

Truffleをインストールします。

C:\Users\chimy>npm install -g truffle

:

+ truffle@5.1.63
added 143 packages from 62 contributors in 157.161s

C:\Users\chimy>

バージョンを確認します。コマンドhelpも表示されます。

C:\Users\chimy>truffle -v
Truffle v5.1.63 - a development framework for Ethereum

Usage: truffle <command> [options]

Commands:
  build     Execute build pipeline (if configuration present)
  compile   Compile contract source files
  config    Set user-level configuration options
  console   Run a console with contract abstractions and commands available
  create    Helper to create new contracts, migrations and tests
  debug     Interactively debug any transaction on the blockchain
  deploy    (alias for migrate)
  develop   Open a console with a local development blockchain
  exec      Execute a JS module within this Truffle environment
  help      List all commands or provide information about a specific command
  init      Initialize new and empty Ethereum project
  install   Install a package from the Ethereum Package Registry
  migrate   Run migrations to deploy contracts
  networks  Show addresses for deployed contracts on each network
  obtain    Fetch and cache a specified compiler
  opcode    Print the compiled opcodes for a given contract
  publish   Publish a package to the Ethereum Package Registry
  run       Run a third-party command
  test      Run JavaScript and Solidity tests
  unbox     Download a Truffle Box, a pre-built Truffle project
  version   Show version number and exit
  watch     Watch filesystem for changes and rebuild the project automatically

See more at http://trufflesuite.com/docs


C:\Users\chimy>

Truffleプロジェクト作成テスト

Truffleのプロジェクト作成を試してみます。プロジェクト用のフォルダを作成し、truffle initコマンドを実行します。

c:\>mkdir mypj
c:\>cd mypj
c:\mypj>truffle init

Starting init...
================

> Copying project files to c:\mypj

Init successful, sweet!


c:\mypj>dir /b
contracts
migrations
test
truffle-config.js

c:\mypj>

実行すると、以下の構造が出来上がります。

C:\mypj>dir
:
 c:\mypj のディレクトリ

2021/01/23  16:49    <DIR>          .
2021/01/23  16:49    <DIR>          ..
2021/01/23  16:49    <DIR>          contracts
2021/01/23  16:49    <DIR>          migrations
2021/01/23  16:49    <DIR>          test
1985/10/26  17:15             4,198 truffle-config.js
               1 個のファイル               4,198 バイト
               5 個のディレクトリ  11,056,128,000 バイトの空き領域

yarnのインストール

今回使いませんがyarnをインストールします。読み方は、ヤーン。

JavaScriptに組み込んで使うパッケージ管理システム。Node.js向けのパッケージ管理システムであるnpmと違って、簡易性やセキュリティの面でメリットがある。Facebook社が開発し、2016年にオープンソース化したという経緯があります。

C:\Users\chimy>npm install -g yarn

> yarn@1.22.10 preinstall C:\Users\chimy\AppData\Roaming\npm\node_modules\yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)

C:\Users\chimy\AppData\Roaming\npm\yarnpkg -> C:\Users\chimy\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
C:\Users\chimy\AppData\Roaming\npm\yarn -> C:\Users\chimy\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
+ yarn@1.22.10
added 1 package in 1.542s

C:\Users\chimy>

以下コマンドを実行し、バージョン情報が確認できればインストールに成功している。

C:\Users\chimy>yarn -v
1.22.10

Ganacheのインストール

読み方はガナッシュで合ってる?

Ganacheは、dApp(分散型アプリケーション)を開発するための、パーソナルブロックチェーンを効率よく構築できるソフトウェア。EthereumとCorda対応している。

こちらのサイトのトップページからインストーラをダウンロードし、実行することで導入する。ダウンロードには結構時間がかかるので、ここでいったん休憩。私の環境では10分ほどかかった。

Ganacheインストーラ実行

インストーラを実行すると、下記の画面が表示されるのインストールをクリックする。

image.png

Google Analyticsにトラッキング送信するかどうか

インストール実行後、Google Analyticsにトラッキング送信させてくださいよ、addressやprivate keyは抜かないので安心してくださいよ、と言われる。

お好みで左下のスイッチを変更してCONTINUEを押す。

image.png

Ganacheワークスペースの作成

ワークスペース作成画面が表示される。プルダウンからEthereumかCordaを選択して作成する。QuickStartか、オプションをカスタマイズして作成するかを選択できるので、今日はEthereumをQuickStartで作ってみる。

image.png

ワークスペースの確認

ワークスペースを作成すると、初期でアカウントのアドレスが10作成された。
image.png

MetaMaskのインストール

以下のサイトからMetaMaskのインストーラを入手する。MetaMaskは偽物が多いらしく、情報が抜かれるので注意したほうが良いそうです。

MetaMaskは、Google Chromeの拡張機能としてインストールします。

MetaMaskでウォレットの作成

ChromeでMetaMaskの画面を表示すると、初期で以下の画面が表示されます。'Create a Wallet'を選択します。

image.png

パスワードを設定します。

image.png

secret pass phraseによる認証が求められるので、12のワードをコピペでメモし、入力します。

Chromeの拡張機能アイコンからMetaMaskを選択すると、以下の画面が表示されますので、カスタムRPCを選択します。

image.png

NetWork Nameを任意入力し、アドレスにはローカルループバックアドレスとGanache側に作成したワークスペースのポート番号(QuickStartの場合はデフォルト)を入力します。

http://127.0.0.1:5745

ポート番号は、Ganache側のコンソールで確認できます。AUTOMINEがデフォルトで有効です。miningは自動実行されているので、ETHの送金もできそうです。

image.png

続いて、Ganacheの秘密鍵情報をMetaMaskに設定します。Ganacheのコンソールで、アカウント名の右側の鍵マークをクリックし、秘密鍵情報をコピーします。

Metaアカウントのアイコンをクリックし、「アカウントのインポート」を選択します。

image.png

コピーした秘密鍵情報をペーストします。
image.png

インポートに成功すると、所持しているETHが表示されます。

image.png

ETHの送金

ETHを送金してみます。Ganacheのアカウント画面で別のアドレスをコピーします。

image.png

MetaMaskのプラグインメニューから「送信」をクリック
image.png

そして、Ganacheでコピーした別アカウントのアドレスを貼り付けます。金額に送金する額を入力します。とりあえず5ETH送ってみる。
image.png

Ganacheのコンソールを確認すると、ETHの送金に成功し、アカウントのINDEX0から1へ5ETH送られていることが分かります。
image.png

MetaMaskで確認すると、同様にアカウントの所有ETHが減少しています。GASの分が目減りしていることが分かります。

Ganache側ではブロックチェーンネットワークの状態を確認でき、1ブロック増えていて、送金のトランザクションが確認できます。

BLOCKSタブ
image.png
TRANSACTIONSタブ
image.png
LOGSタブ
image.png

まとめ

気軽に開発環境にブロックチェーンネットワークを構築できるので、大変便利。Ganacheは、Ethereumのコントラクト主要言語SolidityのフレームワークであるTruffleと組み合わせてdAppの開発環境として稼働させることで本領を発揮するらしい。

次回そのあたりを深く取り組んでいきたい。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1