Skip to content

Latest commit

 

History

History
134 lines (94 loc) · 6.5 KB

File metadata and controls

134 lines (94 loc) · 6.5 KB
title Cómo desplegar un contrato de colección de ítems en Sequence Builder
description 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.
sidebarTitle Desplegar un contrato de colección

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

Requisito previo: Crear un Proyecto

Esta guía asume que usted ya se registró en Builder y creó un Proyecto.

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

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

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

![seleccionar proyecto y nuevo contrato](/images/collectibles/deploy_new_contract.png)

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)

![seleccionar game item](/images/collectibles/select_web3_game_item.png) 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

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.

![desplegar game item](/images/collectibles/deploy_game_item.png) 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. 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á.

Paso 4: Despliegue su contrato

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

Despliegue su contrato firmando el mensaje en la ventana emergente desde la Sequence Wallet

Todas las testnets serán gratuitas para transaccionar.

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

![seleccionar contrato](/images/collectibles/select_deployed_contract.png)

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

![escribir contrato](/images/collectibles/select_item_write_contract.png)

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

![otorgar rol](/images/collectibles/grant_role_game_item.png)

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.

![copiar dirección](/images/collectibles/copy_address_game_item.png)

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

Con un mensaje de confirmación que muestra Response Success

La cadena de rol ingresada es el resultado de `solidityPackedKeccak256("MINTER_ROLE")` en solidity o `ethers.solidityPackedKeccak256(ethers.toUtf8Bytes("MINTER_ROLE"))` en javascript 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)

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.

![mintear tokens](/images/collectibles/mint_game_item.png)

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

![ver transacciones de moneda](/images/collectibles/transactions_game_items.png)