lesson-2_NFTコントラクトを作成しよう
section1
のこれから先の作業は、 AVAX-Asset-Tokenization/packages/contract
ディレクトリをルートディレクトリとして話を進めます。 🙌
👩💻 実装する内容の確認
本プロジェクトで作成するdappの内容を整理します。
農家とその収穫物を購入する購入者を対象に、NFTの作成と購入ができるアプリを作成します。
農家は収穫物を得る権利をトークンとして購入者に販売することで、 収穫物を直接取引する形態の他にサブスクリプション型など新たな収入形態を実現することができます。
購入者はトークンをNFTマーケットで転売したり、 トークンを所持している人のみ参加できるイベントに参加したりなど、 体験の幅が広がります。
今回作成するスマートコントラクトは2種類です。
FarmNft
NFTの機能を持つスマートコントラクトです。
農家1つに対して1つのFarmNft
がデプロイされます。
このコントラクトには有効期限を設けます。 デプロイ時に指定された有効期限の日時を過ぎるとNFTのmintができなくなります。
AssetTokenization
フロントエンドとのデータのやりとり、 FarmNft
のデプロイと管理をする機能を持つスマートコントラクトです。
AssetTokenization
は1つで、 FarmNft
は農家の数だけ存在することができます。
作成する2つのスマートコントラクトとフロントエンドとの関係図は以下です。
ここではAssetTokenization
がフロントエンドとやり取りをすることと、 複数のFarmNft
を管理しているという関係性が掴めれば十分です!