Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions es/solutions/builder/collections/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
title: Gestionar colecciones de NFT en Sequence Builder
description: Sequence Builder le permite gestionar Colecciones de metadatos de coleccionables, incluyendo detalles, imágenes y propiedades. Puede vincular Colecciones a contratos desplegables para flujos de creación sencillos. Controle las actualizaciones y la visualización pública/privada de la información de la colección en los servidores de Sequence.
sidebarTitle: Descripción general
---

Sequence Builder ofrece la posibilidad de gestionar Colecciones de metadatos de coleccionables, incluyendo: detalles, imágenes y propiedades de los coleccionables. Dentro del Builder, las Colecciones pueden vincularse a contratos desplegables desde el Builder para flujos de creación sencillos.

Los medios y metadatos se guardan en los servidores de Sequence, donde ciertas funciones le permiten tener control sobre las actualizaciones y la visualización pública o privada de la información de su colección.

<Tip>
También están disponibles [APIs](/api-references/metadata/overview) para gestionar los metadatos de su colección de NFT.
</Tip>

## 1. Crear una Colección
Primero, navegue a su proyecto desde el menú desplegable en la parte superior izquierda de [Sequence Builder](https://sequence.build) y seleccione la vista de página `Collections` en la barra lateral izquierda, luego haga clic en `+ Create a collection`

<Frame>
![crear colección](/images/collections/collections_create_collection.png)
</Frame>

Luego ingrese los detalles de la colección, como el `Collection Name`, la `Description` para la información del contrato, y en `Collection Data` elija si será `Visible (Public)` o `Private (Hidden)`. Para que los datos sean visibles, seleccione Visible (Public). Incluya también el `External Link` de su proyecto a un sitio web.

<Frame>
![agregar detalles a la colección](/images/collections/collections_create_collection_input_details.png)
</Frame>

## 2. Vincular un Contrato
Después de crear una colección, puede vincular un contrato desplegando un contrato de coleccionables (por ejemplo, `ERC1155` o `ERC721`) y configurando el `baseMetadataURI` durante el despliegue al seleccionar `Link contract`

Luego seleccione `Deploy new contract`

<Frame>
![vincular un contrato](/images/collections/collections_collections_link_contract.png)
</Frame>

Seleccione el tipo de contrato o cargue uno propio

<Frame>
![tipo de contrato](/images/collections/collections_link_contract_choose_contract_type.png)
</Frame>

A continuación, podrá ver los detalles del tipo de contrato seleccionado

<Frame>
![tipo de contrato elegido](/images/collections/collections_link_contract_confirm_contract.png)
</Frame>

Complete los detalles del contrato, especificando la `Network`, el `Contract Name` y los `Royalties`, si desea publicar el coleccionable en el [Token Directory](/api-references/indexer/examples/metadata-tips) y finalmente seleccione `Deploy Contract` para completar la firma de la transacción en la ventana emergente de Sequence.

<Frame>
![detalles del contrato](/images/collections/collections_deploy_contract.png)
</Frame>

<Warning>
Si despliega desde Builder en redes de producción, trate el despliegue como autofinanciado. El Gas Sponsorship puede seguir siendo útil para interacciones retransmitidas después de desplegar el contrato, pero la transacción de despliegue en sí puede requerir que la wallet que despliega pague el gas.
</Warning>

Luego, si revisa la pestaña `Read Contract` del contrato y hace clic en `Read` sobre el campo `baseURI`, verá la URL de los metadatos de Sequence. Cuando se consulta desde el Indexer, se añade `<token_id>.json` al final para referenciar el json del coleccionable.

<Frame>
![leer base uri](/images/collections/collection_read_base_uri.png)
</Frame>

## 3. Crear un Coleccionable
Para crear un coleccionable como parte de la colección, regrese a la página `Collections` y seleccione `+ Add a collectible`

<Frame>
![agregar un coleccionable](/images/collections/collections_add_a_collectible.png)
</Frame>

Luego actualice los detalles como el `Collectible Name` y la `Description`, y cargue su arte seleccionando el campo gris.

<Frame>
![actualizar detalles del coleccionable](/images/collections/collections_update_art_and_details.png)
</Frame>

#### Agregar una propiedad de metadatos
También puede agregar ciertas propiedades a su coleccionable seleccionando `+ Add a property`, lo cual es útil para inscribir información adicional como números o cadenas de texto cuando se usan los metadatos en cualquier juego.

<Frame>
![agregar una propiedad](/images/collections/collection_add_property.png)
</Frame>

Asigne la clave y el valor a cada propiedad

<Frame>
![asignar propiedades](/images/collections/collection_assign_properties.png)
</Frame>

Complete los pasos anteriores hasta obtener el resultado final de un coleccionable agregado a una colección

<Frame>
![resultado final del coleccionable agregado](/images/collections/collections_final_result_of_collectible.png)
</Frame>

## 4. Actualizar información en Configuración
En cualquier momento puede actualizar los detalles de su coleccionable en configuración

<Frame>
![configuración](/images/collections/collections_access_settings.png)
</Frame>

Una vez en configuración, puede actualizar cualquiera de los campos de información, como: `Collection Name`, `Description`, visibilidad de los `Collection data` y un `External Link` para referenciar un sitio web.

<Frame>
![configuración](/images/collections/collections_update_info.png)
</Frame>

#### Eliminar datos de la colección
Puede eliminar todos los datos de la colección del contrato seleccionando `Delete collection data`, lo que eliminará permanentemente todos los datos. Esta acción no se puede deshacer.

## 5. Referenciar el Metadata Token URI
Actualmente, para `Link Contract` no puede usar contratos predesplegados, pero puede leer el `Token Metadata URI` de la colección para configurar el `setBaseMetadataURI` de sus contratos existentes. El URI se puede obtener accediendo al botón `Metadata URIs`

<Frame>
![copiar metadata uris](/images/collections/collections_metadata_uris.png)
</Frame>

Luego copie el `Token Metadata URI` desde la ventana modal y utilícelo para escribir en un contrato con la función `setBaseMetadataURI`, o úselo para referenciar metadatos directamente en una aplicación agregando `<token_id>.json` al URI para acceder a los metadatos.

<Frame>
![acceder a metadata uris](/images/collections/collections_token_metadata_uri.png)
</Frame>
132 changes: 132 additions & 0 deletions es/solutions/builder/contracts/deploy-ERC20-currency.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: Cómo desplegar moneda dentro del juego en Sequence Builder
description: Aprenda cómo crear su propia moneda dentro del juego desplegando y minteando desde un contrato ERC20. Comprenda la diferencia entre tokens fungibles y no fungibles.
sidebarTitle: Desplegar una moneda dentro del juego (ERC20)
---

## Introducción
En esta guía, le mostraremos el proceso para crear su propia moneda dentro del juego mediante el despliegue y minteo desde un contrato ERC20.

Los tokens de moneda agregan nuevas e interesantes dimensiones a las economías dentro del juego, las transacciones y la interacción entre jugadores para desbloquear y distribuir valor.

#### ¿Qué es un token ERC20?
Un token ERC20 es una moneda digital: lo que lo hace especial es que sigue un [conjunto de reglas llamado ERC20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/), lo que facilita su uso en diferentes lugares de internet. Estos tokens suelen representar valor o utilizarse para fines específicos. A diferencia de los otros tokens comunes, los NFT, estos tokens son fungibles.

#### Fungibilidad vs No Fungibilidad
Esta es la diferencia clave que debe comprender.

Los tokens fungibles (como los tokens ERC20) son intercambiables y cada unidad es igual a cualquier otra, como los dólares o euros. Se pueden dividir o combinar fácilmente en diferentes cantidades.

Los tokens no fungibles (como los tokens ERC721) representan artículos únicos con propiedades individuales, como arte digital o coleccionables. Cada token es distinto y no se puede intercambiar directamente por otro de manera equivalente.

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

## Paso 1: Navegue a contratos
Comience seleccionando su `project` en la esquina superior izquierda del proyecto para el que desea crear la moneda, luego diríjase a la sección de `contracts` y seleccione `+ Deploy new contract`

<Frame>
![seleccionar proyecto y nuevo contrato](/images/collectibles/select_project_new_contract.png)
</Frame>

## Paso 2: Seleccione el token de moneda
Haga clic en `View more contracts`

<Frame>
![ver más tokens de moneda](/images/collectibles/view_more_contracts.png)
</Frame>

Seleccione el contrato de token de moneda y haga clic en `deploy` para desplegar su contrato auditado por Sequence

<Frame>
![seleccionar token de moneda y botón de deploy](/images/collectibles/select_currency_deploy.png)
</Frame>

## Paso 3: Especifique los detalles del contrato
Complete los detalles del contrato especificando un `name` y un `symbol` para su contrato.

<Frame>
![seleccionar currency y botón de deploy](/images/collectibles/currency_contract_details.png)
</Frame>

<Warning>
Nota:

Aunque puede cambiar el `name` y el `symbol` 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 ingrese primero permanecerá.
</Warning>

## 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="/images/collectibles/sign_deploy_transaction.png" width="200" />
</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>
Todas las testnets serán gratuitas para transaccionar.
</Note>

## Paso 5: Agregue un rol de minteo al contrato
Primero seleccione el contrato que acaba de desplegar en la sección de `contracts`

<Frame>
![seleccionar contrato](/images/collectibles/select_contract.png)
</Frame>

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

<Frame>
![escribir contrato](/images/collectibles/select_write_contract.png)
</Frame>

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 la wallet se copia simplemente desde la esquina superior derecha para poder enviar tokens a su wallet

<Frame>
![copiar dirección](/images/collectibles/copy_address.png)
</Frame>

<Frame>
![otorgar rol de minteo](/images/collectibles/grant_role.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 utilizar 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. Más información 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
Navegue a la tarjeta `mint` en la sección `Write Contract` e ingrese la dirección de su wallet a la que desea recibir tokens y la cantidad de tokens en 18 decimales. Así que para 100 tokens debe ingresar: `100000000000000000000`

<Frame>
![mintear tokens](/images/collectibles/mint_currency.png)
</Frame>

## Paso 7: Confirme su token de moneda 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>
![ver transacciones de token de moneda](/images/collectibles/view_currency_transactions.png)
</Frame>
134 changes: 134 additions & 0 deletions es/solutions/builder/contracts/deploy-an-item-collection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
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.

<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>
![seleccionar proyecto y nuevo contrato](/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>
![seleccionar game item](/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>
![desplegar game item](/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="/images/collectibles/sign_deploy_transaction.png" width="200" alt="Despliegue su contrato firmando el mensaje en la ventana emergente desde la Sequence Wallet" />
</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>
![seleccionar contrato](/images/collectibles/select_deployed_contract.png)
</Frame>

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

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

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

<Frame>
![otorgar rol](/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>
![copiar dirección](/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>
![mintear tokens](/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>
![ver transacciones de moneda](/images/collectibles/transactions_game_items.png)
</Frame>
Loading
Loading