Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

This post is Private. Only a writer or those who know its URL can access this post.

posted at

updated at

CryptoKittiesライクなÐAppを0から開発する 環境構築編

はじめに

本ページは初級ハンズオンセミナー参加される方用の、Ethereumでの開発に必要となるツールのご紹介です。

講義では主にSolidityを使ったスマートコントラクト開発をブラウザ上のIDEを用いて進めますが、最後にWebアプリケーションとの連動方法についてご紹介します。

ローカル環境は参加される方によりますので、Webアプリケーションとの連動方法はあくまでもご紹介となりますが、もしご興味があれば事前に下記のツールをインストールしていただけますと内容への理解が深まるかと存じます。

なお、環境構築はあくまでもオプションですので、構築できない場合でも受講に差し支えありません。

環境構築

下記手順から開発に必要なツールをインストールしてください。

なお、それぞれの役割は下記の通りです。

ツール名 役割
Homebrew Mac用パッケージマネージャー
Geth Ethereum用のコマンドラインインターフェース
Ganache Eteherumのローカルでのテスト環境。「Test RPC」の代用
Node.js JavaScriptで動くサーバーサイド環境
Truffle Ethereum開発フレームワーク
Atom エディタ(インストールは任意)

Mac編

Homebrew

  1. App Storeから「Xcode」をインストールする
  2. ターミナルを開き、下記コマンドを入力。出てきた確認画面からコマンドラインツールをインストールする。

    ターミナル
    $ xcode-select --install
    
  3. Homebrew

    ターミナル
    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    下記コマンドからバージョンが出てくればインストール完了です。

    ターミナル
    $ brew --version
    Homebrew 1.6.1
    Homebrew/homebrew-core (git revision 8e31c; last commit 2018-04-20)
    

Geth(Go Ethereum)

  1. Homebrewが古い場合には最新のものにします。最新であれば不要です。

    ターミナル
    $ brew update
    
  2. Gethをインストールします。

    ターミナル
    $ brew tap ethereum/ethereum
    $ brew install ethereum
    

    Gethのバージョンが表示されればインストール完了です。

    ターミナル
    $ geth version
    Geth
    Version: 1.8.3-stable
    

Ganache

  1. 次のページにアクセスします。
    https://truffleframework.com/ganache

  2. 「DOWNLOAD」ボタンから「〜.dmg」ファイルをダウンロード。

  3. 通常のアプリと同様にDMGファイルを開き、ナビゲーションに沿ってインストールする。
    下記のようにGanacheアプリが開ければ完了です。

    Ganache.png

Node.js

バージョン管理ツールを使わない場合

  1. 下記公式ページからインストーラーを用いてインストールします。

    https://nodejs.org/ja/

バージョン管理ツールを使う場合

  1. Node.jsのバージョン管理ツールであるnodebrewをインストールします。バージョン情報が表示されればOKです。

    ターミナル
    $ brew install nodebrew
    $ nodebrew -v
    nodebrew 0.9.6
    
  2. Node.jsをインストールします。バージョンが表示されることを確かめ、有効化します。最後に実行パスを通します。

    ターミナル
    $ nodebrew install-binary latest
    $ nodebrew list
    v8.4.0
    
    current: none
    $ nodebrew use v8.4.0
    $ echo 'export PATH=$PATH:/Users/{YourUserName}/.nodebrew/current/bin' >> ~/.bashrc
    
  3. ターミナルを再起動し、Node.jsとnpmがインストールされていることを確認します。なお、npmはNode.jsがインストールされる過程で自動で入ります。

    ターミナル
    $ node -v
    v8.9.1
    $ npm -v
    5.10.0
    

Truffle

  1. Truffleのversion 4をインストールします。

    ターミナル
    $ npm install -g truffle
    $ truffle version
    Truffle v4.1.8 (core: 4.1.9)
    Solidity v0.4.24 (solc-js)
    

    それ以前のTruffleが入っている場合、競合する可能性があるので、あらかじめアンインストールした上でインストールを行ってください。

    ターミナル
    $ npm uninstall -g truffle
    $ npm install -g truffle
    $ truffle version
    Truffle v4.1.8 (core: 4.1.9)
    Solidity v0.4.24 (solc-js)
    

Atom(エディタ、任意)

  1. 次のページにアクセスします。
    https://github.com/atom/atom

  2. releasesタブから最新バージョンの「atom-mac.zip」をダウンロードし、展開します。

  3. Atomを開き、「Atom」>「Install Shell Commands」をクリックします。

    atom.png

  4. ターミナルから、Solidity用のパッケージを加えます。

    ターミナル
    $ apm install language-ethereum
    

Windows編

Windows向けの各アプリケーションおよびNode.js環境については下記記事等を参考にしてインストールしてください。

・Geth
 https://techacademy.jp/magazine/17381

・Ganache
 https://truffleframework.com/ganache

・Node.js
 https://qiita.com/maecho/items/ae71da38c88418b806ff

・Truffle
 Mac編と同じ
(ただし名前衝突がお起こる可能性あり。回避方法は下記参照。
 https://truffleframework.com/docs/truffle/reference/configuration#resolving-naming-conflicts-on-windows)

・Atom
 Mac編の2でWindows用のリリースをダウンロードする以外は同じ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?