/Ethereumアプリの開発フレームワークTruffle入門2018.01.02Ethereumアプリの開発フレームワークTruffle入門TweetPocket目次はじめに動作環境Truffleとは?Truffleインストール新規プロジェクト作成コントラクトのコンパイルマイグレーションデプロイコントラクトの実行まとめはじめに前回はMistを使ったトークン開発について解説しました。本格的にスマートコントラクト開発を進めていくために、現在メジャーな開発フレームワークであるTruffleを使ってみます。4.0.4Truffleとは?Ethereumアプリケーションの開発フレームワーク。コントラクトのコンパイルやデプロイ、テストなどが可能です。コントラクトの言語はSolidityで、フロントにReactを使ったテンプレートなども公開されています。スマートコントラクト系のアプリケーションはWebアプリ開発の知見がどうしても少ないので、先駆者としてコミュニティを引っ張ってくれている存在はありがたいです。Truffleインストール早速インストールして見ましょう。公式通りnpmコマンドでインストールします。truffle新規プロジェクト作成コントラクトアプリを作成していきます。以下の手順通りにプロジェクトフォルダを作成し、初期化コマンドを実行します。initするとプロジェクトフォルダ以下にデフォルトファイルが生成されます。contractsフォルダに以下のコントラクトコードファイルを作成します。data;}}単純にステート変数を持たせて、値を設定または取得するだけのシンプルなコントラクトです。コントラクトのコンパイル次にコントラクトをコンパイルします。./build/contractsコンパイルが完了すると、以下のJSONファイルが生成されます。./build/contracts/SampleContract.jsonマイグレーションTruffleではコントラクトデプロイをマイグレーションファイルで管理できます。このマイグレーションファイルはJavaScriptで記述され、コントラクトへ渡すパラメータも定義することができます。今回はシンプルなマイグレーションファイルを作成します。stepsdeployer.deploy(SampleContract);};ファイル名は必ず数字から始める必要があり、この数字順にマイグレーションが実行されます。デプロイマイグレーションファイルが作成できたらデプロイを実行します。以下のコマンドでテスト環境(localhost:9545)が起動し、コンソールモードが使えます。treattruffle(develop)>マイグレーションを実行します。artifacts...コントラクトがデプロイされました。コントラクトのアドレスは以下の通りです。0x345ca3e014aaf5dca488057592ee47305d9b3e10コントラクトオプジェクトを生成します。コントラクトアドレスはSampleContract.addressでアクセスできます。SampleContract.at(SampleContract.address)コントラクトオブジェクトの中身を見てみます。}オブジェクトからパラメータや関数にアクセスすることができます。コントラクトの実行コントラクトに値を設定します。}設定した値を取得することもできました。sampleContract.get()'Hello'まとめTruffleを使ったスマートコントラクト開発を試してみました。サンプルコードを実行してみるだけならともかく、実際に商用アプリを開発する場合はTruffleのようなフレームワークは必須です。このまま開発環境が整ってくればスマートコントラクトの開発がもっと盛り上がるかもしれませんね。スマートコントラクトのDevOpsをもっと研究していきたいと思います。ブロックチェーンSNSでもご購読できます。reserved.コメントを読み込み中...コメントを投稿するにはログインしてください。