TruffleでHelloWorld[Ethereum]

2018年5月21日

TruffleはSolidityによるスマートコントラクト構築のためのコンパイルやデプロイ、バイナリ管理等を行えるフレームワークです。

 

今回はこのTruffleを利用してHelloWorldを出力するコントラクトを生成してみます。

 

開発環境
macOS High Sierra
npm 5.5.1
Truffle v4.1.8

 

Truffleはnpmでインストールすることができます。

 

はじめに「HelloWorld」という名前のプロジェクトを作成し、truffle initで初期化を行います。

 

初期化を行うと、作成したディレクトリ以下に下記のようなファイル群が生成されます。

 

contractsディレクトリ内にSolidityのコントラクトファイルを作成していきます。今回はHelloWorld.solファイルを追加し、下記のようなSolidityコードを記述しました。

 

コントラクトファイルの追加コマンド

 

次にコントラクトをデプロイするために必要となるファイルとして、migrationsディレクトリに下記のマイグレーションファイル(JavaScriptファイル)を追加します。ファイル名冒頭の番号はマイグレーションされる順番となります。

 

2_deploy_contracts.js

 

一つのコントラクト(仮にAとする)をデプロイする場合、そのコンストラクタの引数は下記のように記述していきます。

 

参照ページ

TRUFFLE RUNNING MIGRATIONS

 

 

次にローカル上で開発用ブロックチェーンを立ち上げます。今回はEthereumクライアントとして、Truffleにあらかじめ備わっているTruffle Developを利用します。下記コマンドで起動することができます。

 

 

起動すると次のような情報が表示されます。開発用ブロックチェーン上で利用できる10個のアカウントがあらかじめ生成されているのがわかります。

 

 

上記のアドレス等が表示された後、Truffleのコンソールが利用可能な状態となっています。

 

次にコンパイルします。

 

コンパイルが完了したら、ローカルのブロックチェーンにコントラクトをデプロイします。

 

デプロイが成功すると下記のような文言が表示されます。HelloWorldの隣のアドレスが、今回作成したコントラクトのアドレスとなります。

 

このmigrateは最後に行ったマイグレーションから実行されます。もしコントラクトファイルを修正するなどして、再度すべてのファイルをデプロイし直す場合は、–resetを指定します。

 

デプロイが完了したら、コントラクトを確認してみます。コントラクトのアドレスは下記コマンドで取得できます。

 

 

作成したコントラクトのsay()を呼び出します。

 

Truffleのコンソールは cntrol + D で終了することができます。

 

 

参照ページ


Truffle QUICKSTART

 

 

LINEで送る
Pocket

Copyright © 2018 思考の葉 All Rights Reserved.  プライバシーポリシー