¿Cuáles son los Estándares ERC en Desarrollo Blockchain?

Si habéis leído algunos de nuestros artículos, ya sabréis que muchas veces os hemos hablado de que existen bibliotecas y estándares que cumplen con todos los requisitos de seguridad, y que facilitan mucho el trabajo a los desarrolladores Blockchain.

Y como son tan importantes, hemos querido recoger en este artículo los estándares ERC que todo desarrollador Blockchain debe conocer a la perfección.

¿Qué es un estándar ERC y para qué sirven?

ERC son las siglas de Ethereum Request for Comments, y representan un conjunto de reglas y protocolos que siguen los desarrolladores para crear smart contracts y tokens en la red Ethereum. Estos estándares garantizan la coherencia, la compatibilidad y la facilidad de uso. Al utilizar estos estándares, los desarrolladora blockchain pueden aprovechar la infraestructura que ya existe. De esta forma pueden reducir considerablemente la complejidad y el tiempo de desarrollo.

ERC-20: Estándar de tokens fungibles

Probablemente el más conocido por todos sea el estándar ERC-20 que se propuso por primera vez en el año 2015, y que modela el funcionamiento de los tokens no fungibles que todos conocemos.

Este contrato estandarizado permite que varios contratos del mismo tipo, interactúen con DApps de una manera uniforme, y esto facilita mucho la interoperabilidad y la adopción.

El estándar ERC-20 nos permite representar valor de cualquier cosa dentro de la blockchain, y esto es fundamental en los tiempos que corren.

Para que un contrato de token sea compatible con el estándar ERC20, debe tener obligatoriamente seis funciones, que os voy a mencionar ahora mismo.

  1. totalSupply(), función para obtener el suministro total de tokens fungibles.
  2. balanceOf(), función que nos permite saber cuántos tokens tiene una determinada dirección.
  3. transfer(), función que nos permite transferir tokens de una dirección a otra.
  4. transferFrom(), otra función que nos permite que un tercero de confianza envíe tokens en nombre de otro usuario.
  5. approve(), función para darle permisos a este tercero de confianza para gestionar una determinada cantidad de tokens en nombre de otro usuario
  6. allowance(), estructura de datos en la que podemos llevar un registro de los permisos que tienen otorgados algunas direcciones para transferir tokens desde una cuenta específica.

¿Quieres saber más sobre este estándar? Perfecto, aquí va un tutorial completo ⬇️


ERC-721: Estándar para tokens no fungibles

Otro de los reyes de estos estándares es el ERC-721, el que modela el funcionamiento de los tokens no fungibles, más conocidos como NFT.

A diferencia de los anteriores, estos tokens son únicos, no comparten valor con ningún otro token. Y esta característica es precisamente lo que los hace tan útiles en un montón de áreas.

Las funciones básicas que debe cumplir un contrato para considerarse compatible con el estándar ERC-721 son similares a las del ERC-20, pero tienen sus particularidades que atienden a las necesidades de estos tokens únicos.

  1. balanceOf(), función que devuelve la cantidad de tokens de una dirección.
  2. ownerOf(), función que devuelve el propietario de un determinado token usando su identificador específico.
  3. transferFrom(), función que transfiere tokens desde la dirección del propietario hacia la dirección del receptor
  4. safeTransferFrom(), al igual que la anterior transfiere tokens desde una dirección a otra, pero en este caso la función se asegura de que el receptor está capacitado para recibir estos tokens.
  5. approve(), una función para darle permisos a un tercero para que gestione un determinado NFT en nombre de su propietario.
  6. setApproveForAll(), función para dar permisos a un tercero para que gestione todos los tokens de la colección de un propietario.
  7. isApprovedForAll(), función que da información sobre estos terceros de confianza que tienen permiso para gestionar estos activos.

Si quieres profundizar un poco más en este estándar, podemos ayudarte. En el siguiente tutorial te enseñamos cómo puedes crear tu propia colección de NFTs utilizando el ERC-721 ⬇️


ERC-1155: Estándar de múltiples tokens

Por último, un estándar que es menos conocido pero que es muy útil es el ERC-1155. Éste nos permite manejar múltiples tokens. Este introduce un nuevo concepto, la “semi-fungibilidad”, y esto nos permite que diferentes instancias del mismo token posean atributos y propiedades únicas.

Este estándar utiliza un solo contrato inteligente para representar múltiples tokens simultáneamente. Dentro de la cuenta interna de este contrato, las cuentas tienen un saldo distinto para cada token admitido en el contrato.

¿Qué mejora introduce este estándar? Pues el beneficio de fusionar los dos conceptos anteriores en un solo contrato, lo que nos permite ahorrar gas, enviar varios tokens en una transacción (algo que no es posible con el estándar ERC-721), y otras muchas cosas.

Por esto que os comento, este estándar tiene funciones extra que no aparecen en los estándares que permiten consultar los balances de varios tokens que tiene una dirección, y que permite transferir varios tokens de diferentes tipos de una dirección a otra.

¿Te quedan dudas sobre este estándar "multi-token"? No te preocupes, en Conquer Blocks te las resolvemos con un tutorial detallado sobre el ERC-1155 ⬇️

El programa de Desarrollo Blockchain más vendido del mercado

Descubre el Máster en Desarrollo Blockchain de Conquer Blocks

Descubre el Máster en Desarrollo Blockchain de Conquer Blocks