¿Qué es un token ERC1155 y cuál es su futuro?
Erc1155 vs erc721
Contenidos
En los últimos dos años, la moda de los NFT ha creado un nuevo mercado multimillonario de coleccionables digitales y ya ha empezado a tener un gran impacto en las industrias del arte, los juegos y la moda, entre muchas otras.
Aunque los NFT pueden acuñarse en diversas cadenas de bloques, la gran mayoría de ellos se acuñan en Ethereum, y la mayoría de ellos utilizando el estándar de tokens ERC-721. Por ejemplo, las populares colecciones de NFT Bored Ape Yacht Club (BAYC), CryptoPunks y Moonbirds, entre muchas otras, son todas NFT ERC-721 en la blockchain de Ethereum. El estándar ERC-721 fue creado por Dieter Shirley, William Entriken, Natassia Sachs y Jacob Evan, y se lanzó en 2018.
A pesar de la popularidad del estándar ERC-721, ha surgido un nuevo estándar de tokens NFT de Ethereum, el estándar ERC-1155, que ofrece más flexibilidad- y podría comenzar a superar al estándar NFT ERC-721 en los próximos meses y años. En este artículo, repasaremos ambos estándares de tokens, lo que ofrecen y cómo afectan tanto a los desarrolladores como a los usuarios comunes.
¿Qué es el token ERC1155?
ERC1155 es un nuevo estándar de tokens que pretende tomar lo mejor de los estándares anteriores para crear un contrato de tokens independiente de la fungibilidad y eficiente en el uso de gas. ERC1155 extrae ideas de ERC20, ERC721 y ERC777. Si no estás familiarizado con estos estándares, consulta sus guías antes de continuar.
¿Para qué se utiliza el ERC1155?
ERC-1155 es un estándar de tokens que permite la transferencia eficiente de tokens fungibles y no fungibles en una única transacción.
¿Qué tipo de ficha es ERC 1155?
ERC-1155, un estándar para el manejo de tokens con múltiples funciones. El token ERC-1155 es un tipo de token estándar que tiene la capacidad de almacenar, bajo su control, tokens que pueden actuar como si fueran un token. ERC-20 o ERC-721, o ambos a la vez bajo la misma dirección.
Erc-1155 opensea
function transferFrom(address from, address to, uint256 value) external returns (bool);La única diferencia en ERC-1155 es que pasamos los valores como un array y también pasamos un array de id’s. Por ejemplo dado _ids=[3, 6, 13] y _values=[100, 200, 5], las transferencias resultantes seránEn ERC-1155 sólo tenemos transferFrom, no transfer. Para usarlo como una transferencia normal, sólo hay que poner la dirección from a la dirección que está llamando a la función.// ERC-1155
) externa returns(bytes4);6. Soporte NFTCuando un suministro se da como uno solo, el token es esencialmente un token no fungible (NFT). Y como es estándar para ERC-721, se puede definir una URL de metadatos. La URL puede ser leída y modificada por los clientes, ver aquí.7. Reglas de transferencia seguraYa hemos tocado algunas reglas de transferencia segura en las explicaciones anteriores. Pero veamos las reglas más importantes:Nota: Todas las funciones por lotes, incluido el gancho, también existen como versión sin lote. Esto se hace para la eficiencia de gas, teniendo en cuenta la transferencia de un solo activo probablemente seguirá siendo la forma más utilizada. Las hemos omitido para simplificar las explicaciones, incluidas las reglas de transferencia segura. Los nombres son idénticos, sólo hay que quitar el ‘Batch’.Implementación de nuestros Airline-Tokens con ERC-1155Podemos implementar el ERC-1155 muy fácilmente con los bien documentados y auditados contratos de Openzeppelin. Instálelos a través de npm o importe la URL de Github directamente en Remix. La documentación para el Openzeppelin ERC-1155 puede verse aquí.Nuestro ejemplo anterior de Aerolínea podría implementarse así:import “@openzeppelin/contracts/token/ERC1155/ERC1155.sol”;
Erc-1155 ejemplo
ERC son las siglas de ‘Ethereum Request for Comments’. Es un documento técnico creado por desarrolladores de contratos inteligentes en Ethereum que define un conjunto de reglas. Un desarrollador que codifica un nuevo token necesita seguir estas reglas para implementar tokens para el ecosistema Ethereum. Antes de convertirse en un estándar, un ERC debe ser revisado, comentado y aceptado por la comunidad.
La respuesta a esta pregunta se encuentra en el propio tejido del ecosistema Ethereum. Para realizar funciones específicas en el ecosistema, Ethereum soporta aplicaciones descentralizadas (Dapps). Dependiendo de estas funciones específicas que resuelven el propósito de la Dapp, podría necesitar producir tokens que actuarían como moneda o representarían activos como oro o propiedades. Ahora, estos tokens necesitan ser almacenados en carteras y negociados en bolsas de criptodivisas populares. De lo contrario, no tendrán ningún valor. Estos monederos, bolsas, etc. también siguen las reglas definidas en los documentos del ERC para garantizar la compatibilidad y admiten todos los tokens que se basan en los estándares específicos de tokens del ERC.
Lista de fichas Erc-1155
La característica distintiva de ERC1155 es que utiliza un único contrato inteligente para representar varios tokens a la vez. Esta es la razón por la que su función balanceOf difiere de la de ERC20 y ERC777: tiene un argumento id adicional para el identificador del token del que se quiere consultar el saldo.
Esto es similar a cómo hace las cosas el ERC721, pero en ese estándar un id de token no tiene concepto de saldo: cada token es no fungible y existe o no existe. La función balanceOf de ERC721 se refiere a cuántos tokens diferentes tiene una cuenta, no a cuántos de cada. Por otro lado, en ERC1155 las cuentas tienen un balance distinto para cada id de token, y los tokens no fungibles se implementan simplemente acuñando uno de ellos.
Este enfoque supone un enorme ahorro de gas para los proyectos que requieren múltiples tokens. En lugar de desplegar un nuevo contrato para cada tipo de token, un único contrato de token ERC1155 puede contener todo el estado del sistema, reduciendo los costes de despliegue y la complejidad.
Dado que todo el estado se mantiene en un único contrato, es posible operar sobre múltiples tokens en una única transacción de forma muy eficiente. El estándar proporciona dos funciones, balanceOfBatch y safeBatchTransferFrom, que hacen que la consulta de múltiples balances y la transferencia de múltiples tokens sean más sencillas y menos consumidoras de gas.