js
solidity
仮想通貨
ブロックチェーン
truffle

やっぱり忘れたtruffleの使い方

はじめに

truffleは使い勝手が良いのですが、使い方をよく忘れます。
自分が悪いんですけど。

忘れないように記録を。

セットアップ

node.jsをインストール

node.jsをインストールする必要があります。

公式サイト https://nodejs.org/ja/

各OSごとにインストールは違いますが、簡単なので割愛します。

truffleをインストール

コマンドラインで、以下を実行

npm install -g truffle

私の場合、windowsなので、powershellのコマンドラインで実行しました。

プロジェクトの作成

引き続きコマンドラインで、ディレクトリーを作成します。

mkdir my-project
cd my-project

truffleプロジェクトを作成

truffleの新規プロジェクトを作成します。

truffle init

実行すると、プロジェクトディレクトリーに以下の構成が作成されます。

│ truffle-config.js
│ truffle.js

├─contracts
│ Migrations.sol

├─migrations
│ 1_initial_migration.js

└─test

コンパイル、マイグレーションとテスト

開始

truffle develop を使用すると、他のetheruemクライアントがなくてもテストが可能です。
実行すると、truffleのコンソールプロンプトに代わります。
終了するときは、Ctrl + D で終了します。

truffle develop
truffle(develop)> 

コンパイル

作成されたcontractsディレクトリーにsolidityファイルを保存します。
実行するためにコンパイルを行います。

truffle(develop)> compile

truffleのコンパイルは差分コンパイルです。前回から変更されたファイルのみ再度コンパイルします。
すべて再コンパイルするときは、--allオプションを付けます。

truffle(develop)> compile --all

マイグレーション

実際のEthereumのメインネットへのコントラストのデプロイ、テストネットやローカルネットのデプロイを
行うためにマイグレーションを行います。

truffle(develop)> magrate

どこにデプロイするかは、migrations/1_initial_migration.jsに記載します。

マイグレーションのやり直し

テストに失敗したときなどでコントラストの修正を行ったときに、マイグレーションを行うと、
前回のデプロイが残っていてうまく動作しないことがあります。
そのときは、--resetオプションをつけてマイグレーションを最初からやり直します。

truffle(develop)> magrate --reset

終わりに

まだ慣れていない方や、これから使う方はご参考に。