Acelere el crecimiento de su juego y agregue emoción vendiendo tokens no revelados a sus jugadores, ofreciéndoles recompensas increíbles cuando termine el período de venta, ya que todos los tokens no revelados mostrarán sus verdaderas características que encantarán a sus jugadores. En esta guía, le mostraremos los pasos para desplegar un contrato de Primary Sale usando cualquier moneda personalizada o existente para una venta tipo drop que aprovecha ítems de juego de un contrato ERC721. Usaremos las siguientes tecnologías de la plataforma Sequence:

  1. Primary Sales Contract: Cómo configurar y desplegar contratos para lanzar una venta primaria — ideal para una tienda web, NFT Drop y más.
  2. Embedded Wallet: Use el Web SDK y Sequence Embedded Wallet para autenticar a un usuario.
  3. Sequence Indexer: Aproveche Sequence Indexer para consultar metadatos de NFT y activos del wallet del usuario.
  4. Sequence Metadata: Actualice y gestione los metadatos de una colección o token mediante la UI y API de Sequence Builder.

Clone el boilerplate de Primary Sales para ítems de juego

Puede clonar fácilmente el repositorio de Primary Sales usando el Sequence CLI

npx sequence-cli boilerplates create-primary-drop-sales-erc721-starter

Cómo usar este repositorio

¿Qué puede hacer con esto? La idea es vender NFTs con metadatos ocultos—¡emocionante, verdad? Ofrecerá a los usuarios tokens con diferentes propiedades y rarezas. ¿Espadas? ¿Escudos? ¿Pinturas? ¿Pases de batalla aleatorios? ¿Quizás hasta un boleto dorado? ¡Imagine la expectativa! Brinde a sus usuarios un misterio y una recompensa cuando finalmente les revele su token.

Creación de tokens no revelados

Este paso explica cómo crear tokens no revelados para su colección NFT usando un script. Siga los pasos cuidadosamente para asegurarse de que su colección esté bien configurada y asegúrese de copiar el ID desde la URL en la vista de detalles de la colección.

Para crear los tokens no revelados, asegúrese de establecer su collectionId y el number de tokens que desea crear dentro del archivo scripts/utils/getBodyAndKeys.ts, que ya contiene un ejemplo.

Asegúrese de configurar su JWT_SECRET_KEY, VITE_PROJECT_ACCESS_KEY y VITE_PROJECT_ID en su archivo .env.

Script:

pnpm create-unrevealed-tokens

Flujo de conexión del proyecto y configuración del contrato de ventas ERC721

A partir de aquí, debe completar todo el flujo de conexión de su proyecto y configurar el contrato de ventas ERC721, que estará vinculado a la colección que contiene los tokens no revelados.

Consideraciones importantes:

  • El contrato de ventas primarias debe tener el mismo stock que la cantidad de tokens no revelados que creó mediante el endpoint.
  • Por ejemplo, si generó 300 tokens no revelados, debe configurar 300 unidades de stock en el contrato de ventas para asegurar la consistencia entre el contrato y los tokens no revelados.
  • Vincule la colección con tokens no revelados al contrato.
  • Asegúrese de que el suministro total o stock en su contrato de ventas ERC721 coincida con la cantidad de tokens no revelados. Así evitará inconsistencias entre lo que el contrato ofrece a la venta y los tokens no revelados disponibles.

Configure sus propios contratos de Primary Sales en el repositorio

Le proporcionamos algunos contratos y variables de ejemplo para que comience. Sin embargo, probablemente querrá usar sus propios contratos. Para configurarlo, simplemente siga los pasos a continuación:

1

Despliegue un contrato de Primary Sales en Sequence Builder.

Primero necesitamos un contrato de Primary Sales junto con un contrato ERC721 que contendrá los ítems de juego que queremos vender. Para hacerlo, siga la guía aquí.

2

Configure las opciones de venta para el proyecto.

Una vez que tengamos nuestro contrato de ventas desplegado, simplemente actualizaremos la configuración de ventas en el boilerplate. Vaya a src/salesConfigs.ts y modifique la variable salesConfigs agregando cada venta de contrato en un array para su proyecto con las redes que quiera soportar. Ejemplo:

export const salesConfigs: SaleConfiguration[] = [

  {

    nftTokenAddress: "0x70a2177079877e4aae639d1abb29ffa537b94970",

    salesContractAddress: "0xa55574c5ed4cd1dbc5feba47a204fdfb483edadd",

    chainId: 80002, //polygonAmoy

  }

];

Puede ver todas las cadenas disponibles actualmente soportadas por Sequence aquí.

3

Establezca un chainId predeterminado para el proyecto.

Para establecer el chainId predeterminado, vaya a src/salesConfigs.ts y modifique la variable defaultChainId con el chainId que desea mostrar por defecto en el proyecto. Debe coincidir con un chainId presente en su variable salesConfigs. Por ejemplo:

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

export const defaultChainId = 80002;
4

¡Listo!

Su venta primaria tipo drop debería aparecer y funcionar correctamente a partir de este punto. Para realizar una compra, asegúrese de tener el token correspondiente que configuró como moneda para la venta en su wallet, incremente la cantidad y haga clic en comprar.

Revelar tokens

¡Hey! ¿No es emocionante? Sus usuarios están esperando ansiosos para descubrir su destino—hágales feliz revelando los atributos reales de sus NFTs! ¡Buena suerte a todos! Este script revelará todos los tokens no revelados y asignará sus valores reales a los NFTs, que se generan aleatoriamente. Siéntase libre de personalizar este script para crear los metadatos exactamente como desee.

Para revelar los tokens no revelados, debe establecer su collectionId dentro del archivo scripts/utils/getBodyAndKeys.ts, que ya contiene un ejemplo.

Debe configurar su JWT_SECRET_KEY, VITE_PROJECT_ACCESS_KEY y VITE_PROJECT_ID en su archivo .env. Antes de este paso, debe deshabilitar sus ventas primarias estableciendo una fecha de expiración y/o esperar a que se agote el stock en el contrato (requerido).

Script:

pnpm reveal-tokens