Saltar al contenido principal
Change page

Estándar de token no fungible ERC-721

Introducción

¿Qué es un token no fungible?

Un token no fungible (NFT) se utiliza para identificar algo o a alguien de forma única. Este tipo de token es perfecto para usarse en plataformas que ofrecen artículos coleccionables, claves de acceso, billetes de lotería, asientos numerados para conciertos y partidos deportivos, etc. Este tipo especial de token tiene posibilidades increíbles, por lo que merece un estándar adecuado, ¡el ERC-721 llegó para resolverlo!

¿Qué es ERC-721?

El ERC-721 introduce un estándar para los NFT, en otras palabras, este tipo de token es único y puede tener un valor diferente al de otro token del mismo contrato inteligente, tal vez debido a su antigüedad, rareza o incluso algo más como su aspecto visual. Un momento, ¿aspecto visual?

¡Sí! Todos los NFT tienen una variable uint256 llamada tokenId, por lo que para cualquier contrato ERC-721, el par contract address, uint256 tokenId debe ser globalmente único. Dicho esto, una aplicación descentralizada (dapp) puede tener un "convertidor" que utilice el tokenId como entrada y produzca una imagen de algo genial, ¡como zombis, armas, habilidades o gatitos increíbles!

Requisitos previos

Cuerpo

El ERC-721 (Ethereum Request for Comments 721), propuesto por William Entriken, Dieter Shirley, Jacob Evans y Nastassia Sachs en enero de 2018, es un estándar de token no fungible que implementa una API para tokens dentro de contratos inteligentes.

Proporciona funcionalidades como transferir tokens de una cuenta a otra, obtener el saldo actual de tokens de una cuenta, obtener el propietario de un token específico y también el suministro total del token disponible en la red. Además de estas, también tiene otras funcionalidades como aprobar que una cantidad de tokens de una cuenta pueda ser movida por una cuenta de terceros.

Si un contrato inteligente implementa los siguientes métodos y eventos, se le puede llamar contrato de token no fungible ERC-721 y, una vez desplegado, será responsable de realizar un seguimiento de los tokens creados en Ethereum.

De EIP-721 (opens in a new tab):

Métodos

Eventos

    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

Ejemplos

Veamos cómo un estándar es tan importante para simplificarnos la inspección de cualquier contrato de token ERC-721 en Ethereum. Solo necesitamos la Interfaz Binaria de Aplicación (ABI) del contrato para crear una interfaz para cualquier token ERC-721. Como puede ver a continuación, utilizaremos una ABI simplificada para que sea un ejemplo de baja fricción.

Ejemplo con Web3.py

Primero, asegúrese de haber instalado la biblioteca de Python Web3.py (opens in a new tab):

pip install web3

El contrato de CryptoKitties tiene algunos eventos interesantes además de los estándar.

Revisemos dos de ellos, Pregnant y Birth.

  • Rastreador de NFT de Etherscan (opens in a new tab) enumera los principales NFT en Ethereum por volumen de transferencias.
  • CryptoKitties (opens in a new tab) es un juego centrado en criaturas criables, coleccionables y muy adorables que llamamos CryptoKitties.
  • Sorare (opens in a new tab) es un juego de fútbol de fantasía global donde puede reunir coleccionables de edición limitada, administrar sus equipos y competir para ganar premios.
  • El Servicio de Nombres de Ethereum (ENS) (opens in a new tab) ofrece una forma segura y descentralizada de direccionar recursos tanto dentro como fuera de la cadena de bloques utilizando nombres simples y legibles por humanos.
  • POAP (opens in a new tab) entrega NFT gratuitos a las personas que asisten a eventos o completan acciones específicas. Los POAP son gratuitos de crear y distribuir.
  • Unstoppable Domains (opens in a new tab) es una empresa con sede en San Francisco que construye dominios en cadenas de bloques. Los dominios de cadena de bloques reemplazan las direcciones de criptomonedas con nombres legibles por humanos y se pueden usar para habilitar sitios web resistentes a la censura.
  • Cartas de Gods Unchained (opens in a new tab) es un juego de cartas coleccionables (TCG) en la cadena de bloques de Ethereum que utiliza NFT para brindar propiedad real a los activos del juego.
  • Bored Ape Yacht Club (opens in a new tab) es una colección de 10.000 NFT únicos que, además de ser una obra de arte de rareza demostrable, actúa como un token de membresía para el club, proporcionando ventajas y beneficios a los miembros que aumentan con el tiempo como resultado de los esfuerzos de la comunidad.

Lecturas adicionales

Tutoriales: Construir con tokens no fungibles (ERC-721) en Ethereum