Ethereum開発支援ツール「Truffle」をセットアップ

# 目次
# この記事で得られるもの
- Truffleに関する基礎知識
- Truffleの簡単・確実なインストール方法
# Truffleとは
Truffle(トリュフ)
TruffleはEthereum開発を便利にしてくれるツールセットです.
以下のツールなどがセットになっています.
- Ethereumで使用するSolidity言語のコンパイラ
- デプロイツール
- テストツール
- デバッガ
- ローカルテスト用ネットワーク
# Truffleのインストール方法
# Linux環境の準備
まずはMacやWindowsなどの環境差異を無くすために以下の記事を参考にUbuntu環境を構築して下さい.
# Node.jsとnpmのインストール
Truffleを動かすにはNode.jsというツールを使用します.
Node.jsとは
Javascriptの実行環境です.
インストールにはnpmというパッケージマネージャを使用します.
npmとは
Javascriptのパッケージマネージャです.
Ethereum開発ツールの多くがnpmで配布されています.
Ubuntuにログインして下さい.
Vagrant経由でログインする場合は以下を実行.
vagrant ssh
まずはUbuntu内のインストール可能なツールを最新化.
sudo apt-get update
Node.jsとnpmをインストール.
バージョン8系をインストールします.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
インストールを確認しましょう.
node -v
npm -v
それぞれのバージョンが表示されたらOKです.
# Truffleのインストール
npmではプロジェクト単位でパッケージを管理します.
ここではhello_ethereumというプロジェクトを作成しましょう.
cd /vagrant
mkdir hello_ethereum
cd hello_ethereum
npm init
以下のような質問が続きます.
すべてEnterでデフォルト設定で問題ありません.
package name: (hello_ethereum)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /home/vagrant/hello_ethereum/package.json:
Truffleをインストールします.
npm install truffle@4.1.7
Tip
npmでインストールする時には必ず@でバージョンを指定しましょう.
デフォルトで最新のバージョンがインストールされてしまうので、意図せずバージョンが上がる危険があるためです.
Ethereum周辺ツールは変化が速いので破壊的な変更が入る可能性があります.
インストールが終わったらtruffleの作業用ディレクトリを作り初期化しましょう.
npmはデフォルトではパッケージをプロジェクト内にインストールします.
実行ファイルはnode_modules/.binディレクトリ内にあります.
※ sudo npm install -g truffle
でインストールすることでグローバル空間にインストールすることも可能です.
mkdir truffle
cd truffle
../node_modules/.bin/truffle init
truffle.js、contracts、migrations、testの基本的な構造が作られます.
- truffle.js – truffleの設定ファイルです.ネットワーク設定など。
- contracts – コントラクトを格納するディレクトリです.
- migrations –
truffle migrate
で実行されるデプロイスクリプトを格納します. - test –
truffle test
で実行されるテストを格納します.
Truffleのコンソールを立ち上げてみましょう.
../node_modules/.bin/truffle develop
以下のようなコメントが表示されたら成功です.
Truffle Develop started at http://127.0.0.1:9545/
...
...
truffle(develop)>
Truffleのインストールはこれで以上です.