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.
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