|
| 1 | +--- |
| 2 | +title: Cómo desplegar un contrato de colección de ítems en Sequence Builder |
| 3 | +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. |
| 4 | +sidebarTitle: Desplegar un contrato de colección |
| 5 | +--- |
| 6 | + |
| 7 | +Esta guía explica cómo configurar y desplegar un contrato de Web3 Game Item en Builder. |
| 8 | + |
| 9 | +<Warning> |
| 10 | + Requisito previo: Crear un Proyecto |
| 11 | + |
| 12 | + Esta guía asume que usted ya [se registró en Builder y creó un Proyecto](/solutions/builder/getting-started). |
| 13 | +</Warning> |
| 14 | + |
| 15 | +#### ERC721 vs. ERC1155 |
| 16 | +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. |
| 17 | + |
| 18 | +Ejemplo de `ERC721`: [Azuki](https://etherscan.io/token/0xed5af388653567af2f388e6224dc7c4b3241c544) |
| 19 | + |
| 20 | +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. |
| 21 | + |
| 22 | +Ejemplo de `ERC1155`: [Skyweaver](https://polygonscan.com/token/0x631998e91476da5b870d741192fc5cbc55f5a52e) |
| 23 | + |
| 24 | +## Paso 1: Navegue a contratos |
| 25 | +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` |
| 26 | + |
| 27 | +<Frame> |
| 28 | +  |
| 29 | +</Frame> |
| 30 | + |
| 31 | +## Paso 2: Elija el tipo de coleccionable |
| 32 | +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) |
| 33 | + |
| 34 | +<Frame> |
| 35 | +  |
| 36 | +</Frame> |
| 37 | + |
| 38 | +<Warning> |
| 39 | + La única diferencia en el despliegue entre un `ERC1155` y un `ERC721` es que |
| 40 | + se agrega un `symbol` a una colección de NFT ERC721 |
| 41 | +</Warning> |
| 42 | + |
| 43 | +## Paso 3: Especifique los detalles del contrato |
| 44 | +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. |
| 45 | + |
| 46 | +<Frame> |
| 47 | +  |
| 48 | +</Frame> |
| 49 | + |
| 50 | +<Warning> |
| 51 | + 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. |
| 52 | +</Warning> |
| 53 | + |
| 54 | +<Note> |
| 55 | + Nota: |
| 56 | + |
| 57 | + 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á. |
| 58 | +</Note> |
| 59 | + |
| 60 | +## Paso 4: Despliegue su contrato |
| 61 | +Despliegue su contrato desde la ventana emergente en [http://sequence.app/sign-transaction](http://sequence.app/sign-transaction) y firme el mensaje seleccionando `confirm` |
| 62 | + |
| 63 | +<Frame> |
| 64 | + <img src="/images/collectibles/sign_deploy_transaction.png" width="200" alt="Despliegue su contrato firmando el mensaje en la ventana emergente desde la Sequence Wallet" /> |
| 65 | +</Frame> |
| 66 | + |
| 67 | +<Note> |
| 68 | + Todas las testnets serán gratuitas para transaccionar. |
| 69 | +</Note> |
| 70 | + |
| 71 | +### Opcional: Agregue un rol de Minter al contrato |
| 72 | +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()`. |
| 73 | + |
| 74 | +Primero seleccione el contrato que acaba de desplegar en la sección de `contracts` |
| 75 | + |
| 76 | +<Frame> |
| 77 | +  |
| 78 | +</Frame> |
| 79 | + |
| 80 | +Luego, diríjase a la sección `Write Contract` |
| 81 | + |
| 82 | +<Frame> |
| 83 | +  |
| 84 | +</Frame> |
| 85 | + |
| 86 | +En la sección `grantRole` de la navegación de la pestaña write contract |
| 87 | + |
| 88 | +<Frame> |
| 89 | +  |
| 90 | +</Frame> |
| 91 | + |
| 92 | +Complete con los siguientes datos: |
| 93 | + |
| 94 | +`bytes32 role`: `0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6` |
| 95 | +`address account`: `<Wallet Address>` |
| 96 | + |
| 97 | +Donde la dirección de wallet es la dirección a la que desea dar permisos para mintear, específicamente cualquier Sequence wallet. |
| 98 | + |
| 99 | +<Frame> |
| 100 | +  |
| 101 | +</Frame> |
| 102 | + |
| 103 | +Finalice seleccionando `write` y firmando la transacción en la ventana emergente, como antes |
| 104 | + |
| 105 | +Con un mensaje de confirmación que muestra `Response Success` |
| 106 | + |
| 107 | +<Note> |
| 108 | + La cadena de rol ingresada es el resultado de `solidityPackedKeccak256("MINTER_ROLE")` en |
| 109 | + solidity o `ethers.solidityPackedKeccak256(ethers.toUtf8Bytes("MINTER_ROLE"))` |
| 110 | + en javascript |
| 111 | +</Note> |
| 112 | + |
| 113 | +<Tip> |
| 114 | + Es común usar cómputo offchain como un worker de Cloudflare con una |
| 115 | + wallet relayer que envía transacciones, la cual se ingresaría en el campo account. |
| 116 | + Puede ver más sobre cómo lograr esto |
| 117 | + [aquí](/guides/mint-collectibles-serverless#mint-collectibles-using-a-gasless-serverless-transactions-api) |
| 118 | +</Tip> |
| 119 | + |
| 120 | +## Paso 6: Mintee tokens en la dirección de su wallet |
| 121 | +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. |
| 122 | + |
| 123 | +<Frame> |
| 124 | +  |
| 125 | +</Frame> |
| 126 | + |
| 127 | +## Paso 7: Confirme su coleccionable minteado |
| 128 | +¡Y listo! |
| 129 | + |
| 130 | +Puede ver las transacciones enviadas a la blockchain para la dirección de su wallet en la navegación de la pestaña `Transactions` |
| 131 | + |
| 132 | +<Frame> |
| 133 | +  |
| 134 | +</Frame> |
0 commit comments