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

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)

La única diferencia en el despliegue entre un ERC1155 y un ERC721 es que se agrega un symbol a una NFT Collection ERC721

Paso 3: Especifique los detalles del contrato

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

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

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

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

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

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.

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 utilizar cómputo offchain, como un worker de Cloudflare, junto con un wallet relayer que envía transacciones; este wallet se debe ingresar en el campo de cuenta. Puede encontrar más información sobre cómo lograr esto aquí

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.

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