Estándar multitoken ERC1155
Clase 8 de 19 • Curso de Introducción a OpenZeppelin
Contenido del curso
Clase 8 de 19 • Curso de Introducción a OpenZeppelin
Contenido del curso
Adolfo Sebastián Jara Gavilanes
Kevin Fiorentino
Martín Alexis Samán Arata
Aldryn David Lopez Escalona
Omar Casas
Eber Laurente Lliuyacc
Kevin Fiorentino
Alejandro Ovejero
Sebastian Perez
Leandro Antonelli
Sebastian Perez
Comparto más información sobre el ERC1155, Recomiendo la lectura para conocer ventajas y desventajas y el por qué de la existencia de este protocolo.
gracias
la verdad no le vi mucha utilidad de primeras, teniendo en cuenta que como usuario es muy raro que interactúes directamente con un contrato, usualmente se usan interfaces y capas de abstracción suministradas por los desarrolladores; aunque es innegable que la capacidad de reducir los costo entre llamadas externas a múltiples contratos al poseer todos los token necesarios agrupados en contrato ERC1155 compliant es una capacidad a tener en cuenta
El token ERC-1155 es un token de tipo estándar que tiene capacidad para almacenar bajo su control tokens. Esto significa que este token puede actuar como si fuera otro token, por ejemplo, un token ERC-20 o ERC-721. También puede almacenar ambos tokens bajo una misma dirección.
La función principal de este token es la de crear una interfaz Smart Contract que pueda controlar y representar rápidamente cualquier número de tokens, ya sean fungibles o no fungibles.
De este modo, ERC-1155 puede cumplir con las mismas funciones que los conocidos ERC-20 y ERC-721 e incluso con ambas al mismo tiempo. by mercadorypto.
En el ejemplo del profe, el constructor pudo usar _mintBatch() en lugar de solo `_mint()``
contract MutiToken is ERC1155 { uint256 public constant Fungible = 0; uint256 public constant NoFungible = 1; uint256 public constant OtroFungible = 2; uint[] public ids; uint[] public amounts; constructor() ERC1155("aca una uri") { ids = [Fungible, NoFungible, OtroFungible]; amounts = [1000,1,500]; _mintBatch(msg.sender, ids, amounts, ""); } }
Los videojuego play to earn si duda es el caso de uso que más uso hará de este tipo de tokens.
no seria mejor definir los id con unit8? para optimizar el gas?
Hola Ale, si de entrada ya sabes cuántos ids vas a tener y los mismos entran dentro del rango de uint8 entonces si, conviene por motivos del gas. Pero recuerda que una vez que defines esa variable y subas el contrato no lo puedes modificar
Hola, si implemento un token fungible por medio del 1155, no puedo hacerlo divisible com si podría con el ERC20 verdad?
Hola Leandro, para el ERC1155 el token no fungible es el que tiene cantidad 1, por lo tanto es como decís. Ahora, como todos los tokens del 1155 tienen token id ahora, podrías generarte un token con cantidad > 0 e interpretarlo como un nft divisible (que a fin de cuentas sería similar a un token fungible como mencionas).