- Primary Sales Contract: プライマリーセールのためのコントラクトのセットアップとデプロイ方法です。WebショップやNFTドロップなどに適しています。
- Sequence Indexer: Sequence Indexerを活用してNFTメタデータやユーザーのウォレット資産を照会します。
1. Sequence Builder で独自のトークン・セールコントラクトをデプロイ
まず、販売したいゲームアイテムを格納するPrimary Sales ContractとERC1155コントラクトが必要です。 その手順についてはこちらのガイドをご覧ください。2. Sequence の Unity SDK で Primary Sales デモを利用
まず、Sequence の Unity SDK をプロジェクトにインポートします。その後、Sequence Embedded Wallet SDK/Sequence/Samples/DemoScene
内の Demo.unity
シーンに移動してください。このシーンには、PrimarySalePage
オブジェクトが参考として配置されています。
3. プロジェクトで販売設定を行う
PrimarySalePage
オブジェクトを使って販売情報を入力し、設定を行います。設定セクションには以下のオプションがあります。
- チェーン:コントラクトをデプロイしたチェーンを選択します。
- トークン & セールコントラクトアドレス:Sequence Builder で発行されたコントラクトアドレスを入力します。
- 販売アイテム:販売するトークンIDをすべてリストアップします。
4. SDK と連携するカスタムコードの実装
販売の状態を管理するカスタムクラスを作成しましょう。このクラスで必要なデータを集約し、ユーザーに効果的に情報を表示できるようにします。PrimarySalePage.cs デモでは、設定セクションからデータを取得しています。5. Primary Sale の詳細情報を取得
次に、ERC1155Sale.cs
を参照して、コントラクトから販売情報や支払いトークンを取得します。この情報を使って、例えばユーザーが指定された支払いトークンの残高を十分に持っているかローカルで確認できます。
6. トークンメタデータを取得し、アイテムを表示
指定したトークンコントラクトアドレスのトークン供給情報を取得するため、Indexer API を利用します。必ず ERC1155 コントラクトのアドレスのみを使用してください。セールコントラクトのアドレスは使用しないでください。supply.tokenMetadata.image
変数を利用して、ユーザーにアイテムを表示できます。
リモートURLから画像をダウンロードするために、独自の
AssetHandler
クラスを実装してください。7. ストアからアイテムを購入
これにより、セールコントラクトの mint 関数が呼び出されます。ユーザーのウォレットアドレスをto
パラメータに指定することで、そのユーザーにアイテムがミントされます。ERC1155Sale.cs
クラスを使って CallContractFunction
を作成し、ユーザーのウォレットからセールコントラクトへトランザクションを送信できます。