ゲーム内アイテムをプレイヤーに直接販売して、ゲームの成長を加速させましょう。このガイドでは、ERC1155コントラクトのゲームアイテムを利用したウェブショップで、任意のカスタム通貨や既存通貨を使ってPrimary Saleコントラクトをデプロイする手順を解説します。Sequenceプラットフォームの以下の技術を使用します:

  1. Primary Sales Contract:WebショップやNFTドロップなど、プライマリセールを開始するためのコントラクトの設定・デプロイ方法。
  2. Embedded Wallet:Web SDKとSequence Embedded Walletを使ったユーザー認証。
  3. Sequence Indexer:Sequence Indexerを活用してNFTメタデータやユーザーのウォレット資産を取得。
  4. Sequence Metadata:Sequence BuilderのUIやAPIを使ったコレクションやトークンのメタデータ管理・更新。

ゲームアイテム用Primary Salesのボイラープレートをクローンする

Sequence CLIを使って、Primary Salesリポジトリを簡単にクローンできます。

npx sequence-cli boilerplates create-primary-drop-sale-starter

リポジトリで独自のPrimary Salesコントラクトを設定する

設定するには、以下の手順に従ってください。

1

Sequence BuilderでPrimary Salesコントラクトをデプロイする。

まず、販売したいゲームアイテムを格納するERC1155コントラクトとPrimary Sales Contractが必要です。詳しくはこちらのガイドをご覧ください。

2

プロジェクトのセールス設定を行う。

セールスコントラクトをデプロイしたら、ボイラープレートのセールス設定を更新します。src/salesConfigs.ts を開き、salesConfigs変数にプロジェクトで利用する各コントラクトのセール情報を、対応するネットワークごとに配列で追加してください。例:

export const salesConfigs: SaleConfiguration[] = [

  {

    nftTokenAddress: "0x888a322db4b8033bac3ff84412738c096f87f9d0",

    salesContractAddress: "0x0327b2f274e04d292e74a06809bcd687c63a4ba4",

    chainId: 80002, //polygonAmoy

    // Modify here to show different items

    itemsForSale: ["0", "1"],

  },

  {

    nftTokenAddress: "0xd4bb59d0ba1f7b2beea4c6d9b9f151ee1da02665",

    salesContractAddress: "0x326d2fbe4808dd2a3e205aecc5e25a6322ad0a81",

    chainId: 421614, //arbitrumSepolia,

    // Modify here to show different items

    itemsForSale: ["0"],

  },

];

現在Sequenceでサポートされている全チェーンはこちらで確認できます。

3

プロジェクトのデフォルトchainIdを設定する。

デフォルトのchainIdを設定するには、src/salesConfigs.ts の defaultChainId 変数を、プロジェクトで最初に表示したいchainIdに変更してください。これはsalesConfigs変数に含まれているchainIdと一致している必要があります。例:

// In this case, the chosen `defaultChainId` is 80002 (amoy), which is present in the previously declared `salesConfigs` variable.

export const defaultChainId = 80002;

完了です!

これで、Primary Saleコントラクトが正しく表示・動作するようになります。購入する際は、販売通貨として設定したトークンをウォレットに用意し、数量を増やすか指定して「購入」ボタンをクリックしてください。