> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequence.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo desplegar un contrato de colección de ítems en Sequence Builder

> Esta guía ofrece un recorrido detallado sobre cómo configurar y desplegar un contrato de Web3 Game Item en Builder. Explica las diferencias entre los contratos ERC721 y ERC1155 y describe los pasos para desplegar un contrato.

Esta guía explica cómo configurar y desplegar un contrato de Web3 Game Item en Builder.

<Warning>
  Requisito previo: Crear un Proyecto

  Esta guía asume que usted ya [se registró en Builder y creó un Proyecto](/solutions/builder/getting-started).
</Warning>

#### ERC721 vs. ERC1155

Ambos contratos mintean NFTs, pero ERC721, al ser el estándar más antiguo, ha logrado una amplia adopción, especialmente en coleccionables digitales. Conocido por su simplicidad y facilidad de auditoría en seguridad, los tokens ERC721 son únicos, lo que contribuye a su reconocimiento en varios marketplaces de NFT. Normalmente usaría un contrato ERC721 si: está gestionando un único activo repetido varias veces, o una colección compuesta por un solo tipo de ítem con múltiples ejemplares.

Ejemplo de `ERC721`: [Azuki](https://etherscan.io/token/0xed5af388653567af2f388e6224dc7c4b3241c544)

En cambio, ERC1155 ofrece versatilidad con operaciones por lotes eficientes tanto para tokens fungibles como no fungibles en un solo contrato, donde normalmente se maneja una multiplicidad de muchos ítems en muchas cantidades. Sin embargo, esta flexibilidad introduce complejidad, por lo que requiere atención cuidadosa en seguridad.

Ejemplo de `ERC1155`: [Skyweaver](https://polygonscan.com/token/0x631998e91476da5b870d741192fc5cbc55f5a52e)

## Paso 1: Navegue a contratos

Comience seleccionando su `project` en la esquina superior izquierda para el cual desea crear el coleccionable, luego diríjase a la sección de `contracts` y seleccione `+ Deploy new contract`

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/deploy_new_contract.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=0fa7e231908c0a845784892f592a5f88" alt="seleccionar proyecto y nuevo contrato" width="1893" height="811" data-path="images/collectibles/deploy_new_contract.png" />
</Frame>

## Paso 2: Elija el tipo de coleccionable

Luego, elija entre Web3 Game Item Collection (ERC1155) o NFT Collection (ERC721). En este ejemplo le mostraremos cómo crear una Web3 Game Item Collection (ERC1155)

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/select_web3_game_item.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=7bbe0210a28990948f57dec5e406684d" alt="seleccionar game item" width="1779" height="764" data-path="images/collectibles/select_web3_game_item.png" />
</Frame>

<Warning>
  La única diferencia en el despliegue entre un `ERC1155` y un `ERC721` es que
  se agrega un `symbol` a una colección de NFT ERC721
</Warning>

## Paso 3: Especifique los detalles del contrato

Complete los detalles del contrato especificando un `Contract Name` y un `Owner` para su contrato, con la opción de ingresar Royalties. Asegúrese de que la dirección del Owner sea la Sequence Wallet que aparece en la esquina superior derecha y que tenga fondos en esta wallet en redes de producción; de lo contrario, en testnet, nosotros patrocinamos estas transacciones por usted.

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/deploy_game_item.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=ac4d2febb63953f54005bc199d37907f" alt="desplegar game item" width="2527" height="1102" data-path="images/collectibles/deploy_game_item.png" />
</Frame>

<Warning>
  En redes de producción, trate los despliegues desde Builder como autofinanciados. Incluso si ha configurado Gas Sponsorship para wallets o contratos relacionados, la wallet que realiza el despliegue puede necesitar suficiente token de gas nativo para pagar la transacción de despliegue.
</Warning>

<Note>
  Nota:

  Aunque puede cambiar el `name` más adelante en la interfaz de builder, donde se actualizará en todo el stack de Sequence, los exploradores populares no vuelven a indexar la información, así que lo que ponga primero permanecerá.
</Note>

## Paso 4: Despliegue su contrato

Despliegue su contrato desde la ventana emergente en [http://sequence.app/sign-transaction](http://sequence.app/sign-transaction) y firme el mensaje seleccionando `confirm`

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/sign_deploy_transaction.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=a7eb1738ac94a5a9fc5ccde9b8c5a181" width="200" alt="Despliegue su contrato firmando el mensaje en la ventana emergente desde la Sequence Wallet" data-path="images/collectibles/sign_deploy_transaction.png" />
</Frame>

<Note>
  Todas las testnets serán gratuitas para transaccionar.
</Note>

### Opcional: Agregue un rol de Minter al contrato

Los contratos de Sequence tienen opciones de Access Control por defecto. En algunos casos, puede que desee otorgar permisos a una dirección específica para llamar a funciones como `mint()`.

Primero seleccione el contrato que acaba de desplegar en la sección de `contracts`

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/select_deployed_contract.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=fd2a0e5354ea1e978e8a85c8e8b4205c" alt="seleccionar contrato" width="2527" height="1102" data-path="images/collectibles/select_deployed_contract.png" />
</Frame>

Luego, diríjase a la sección `Write Contract`

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/select_item_write_contract.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=600bac1611288b49a757886ccb1dffe9" alt="escribir contrato" width="1779" height="764" data-path="images/collectibles/select_item_write_contract.png" />
</Frame>

En la sección `grantRole` de la navegación de la pestaña write contract

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/grant_role_game_item.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=5cf9eb075f7833dd7f3c60ad09435f53" alt="otorgar rol" width="2527" height="1146" data-path="images/collectibles/grant_role_game_item.png" />
</Frame>

Complete con los siguientes datos:

`bytes32 role`: `0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6`
`address account`: `<Wallet Address>`

Donde la dirección de wallet es la dirección a la que desea dar permisos para mintear, específicamente cualquier Sequence wallet.

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/copy_address_game_item.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=1e1e2202ca6a4af04ee9d015bf48fd03" alt="copiar dirección" width="1828" height="834" data-path="images/collectibles/copy_address_game_item.png" />
</Frame>

Finalice seleccionando `write` y firmando la transacción en la ventana emergente, como antes

Con un mensaje de confirmación que muestra `Response Success`

<Note>
  La cadena de rol ingresada es el resultado de `solidityPackedKeccak256("MINTER_ROLE")` en
  solidity o `ethers.solidityPackedKeccak256(ethers.toUtf8Bytes("MINTER_ROLE"))`
  en javascript
</Note>

<Tip>
  Es común usar cómputo offchain como un worker de Cloudflare con una
  wallet relayer que envía transacciones, la cual se ingresaría en el campo account.
  Puede ver más sobre cómo lograr esto
  [aquí](/guides/mint-collectibles-serverless#mint-collectibles-using-a-gasless-serverless-transactions-api)
</Tip>

## Paso 6: Mintee tokens en la dirección de su wallet

Vaya a la tarjeta `mint` en la sección `Write Contract` e ingrese el `to`, que es la dirección del wallet al que desea enviar el token, el `tokenId` (normalmente comenzando en 0), la `amount` de tokens, y finalmente en la sección `data` puede ingresar simplemente `0x00`, que usualmente representa datos adicionales sin formato específico.

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/mint_game_item.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=eafc743e476b9a0bb849777f6b7cff7d" alt="mintear tokens" width="1864" height="834" data-path="images/collectibles/mint_game_item.png" />
</Frame>

## Paso 7: Confirme su coleccionable minteado

¡Y listo!

Puede ver las transacciones enviadas a la blockchain para la dirección de su wallet en la navegación de la pestaña `Transactions`

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6/L5_N-K7qQI5_ZReo/images/collectibles/transactions_game_items.png?fit=max&auto=format&n=L5_N-K7qQI5_ZReo&q=85&s=5cf4ff64de5c7164e5ab0aab029080d0" alt="ver transacciones de moneda" width="1651" height="653" data-path="images/collectibles/transactions_game_items.png" />
</Frame>
