truffle ethereum

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

Ethereumの開発支援ツールとして最もメジャーで、恐らくほとんどの開発者が使っている「Truffle」のインストール方法と基礎知識を紹介します.
Feb. 2, 2020, 1:51 p.m.

目次

この記事で得られるもの

  • Truffleに関する基礎知識
  • Truffleの簡単・確実なインストール方法

Truffleとは

Truffle(トリュフ)

Githubレポジトリ

公式ドキュメント

TruffleはEthereum開発を便利にしてくれるツールセットです.

以下のツールなどがセットになっています.

  • Ethereumで使用するSolidity言語のコンパイラ
  • デプロイツール
  • テストツール
  • デバッガ
  • ローカルテスト用ネットワーク

Truffleのインストール方法

Linux環境の準備

まずはMacやWindowsなどの環境差異を無くすために以下の記事を参考にUbuntu環境を構築して下さい.

Ethereum開発を快適にする仮想マシンの作成

Node.jsとnpmのインストール

Truffleを動かすにはNode.jsというツールを使用します.

Node.jsとは

Javascriptの実行環境です.

参考: https://nodejs.org/ja/

インストールにはnpmというパッケージマネージャを使用します.

npmとは

Javascriptのパッケージマネージャです.

Ethereum開発ツールの多くがnpmで配布されています.

参考: https://www.npmjs.com/

Ubuntuにログインして下さい.

Vagrant経由でログインする場合は以下を実行.

1
vagrant ssh

まずはUbuntu内のインストール可能なツールを最新化.

1
sudo apt-get update

Node.jsとnpmをインストール.

バージョン8系をインストールします.

1
2
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

インストールを確認しましょう.

1
2
node -v
npm -v

それぞれのバージョンが表示されたらOKです.

Truffleのインストール

npmではプロジェクト単位でパッケージを管理します.

ここではhello_ethereumというプロジェクトを作成しましょう.

1
2
3
4
cd /vagrant
mkdir hello_ethereum
cd hello_ethereum
npm init

以下のような質問が続きます.

すべてEnterでデフォルト設定で問題ありません.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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のインストールはこれで以上です.