7章FundraiserFactory
前章では、Fundraiserコントラクトを作成し、寄付や出金をサポートするための機能を実装した。Fundraiserコントラクトには多くの機能があるが、現時点では、このコントラクトを作成する手段がない。本章では、なじみがあると思われるFactoryパターンを使ってFundraiserの個々のインスタンスを作成するコントラクトを追加する。
本章では、GitHubリポジトリからUIを取得し、Ganacheにデプロイする手順も見ていく。UIがデプロイされたら、Webブラウザでアプリケーションを起動し、新しいFundraiserインスタンスを作成することで、寄付と資金の引き出しを行うことができる。
7.1 FundraiserFactoryのマイグレーション
前章のFundraiserコントラクトは、別のコントラクト(FundraiserFactory)によって初期化されることを前提として設計されていたため、マイグレーションを必要としていなかった。しかし、ユーザーがファクトリを操作してFundraiserインスタンスを作成するには、FundraiserFactoryをデプロイする必要がある。
まず、次のコマンドを使ってtest
ディレクトリに新しいファイルを作成する。
$ cd fundraiser $ touch test/fundraiser_factory_test.js
この新しいファイルにデプロイのテストケースを追加する(リスト7-1)。
const FundraiserFactoryContract = artifacts.require("FundraiserFactory"); ...
Get SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.