¿Qué es ERC-721?
ERC-721 es un estándar de tokens de Ethereum para crear y gestionar tokens no fungibles, conocidos habitualmente como NFT.Cada token ERC-721 tiene un ID de token único que lo distingue de todos los demás tokens gestionados por el mismo contrato inteligente.La especificación oficial de ERC-721 define reglas estandarizadas para registrar la propiedad, transferir tokens y conceder a otras direcciones permiso para gestionar NFT.
ERC-721 está clasificado como un estándar Final de Ethereum Request for Comments.Se creó porque los estándares de tokens fungibles no pueden representar con precisión activos que deben identificarse y seguirse de forma individual.Un token ERC-721 puede representar un objeto de colección digital, un artículo de juego, una credencial de membresía, una propiedad virtual, una entrada para un evento, una posición financiera, un activo similar a un dominio o un registro vinculado a un objeto físico.El estándar define la propiedad y el comportamiento de las transferencias en blockchain, pero no establece automáticamente derechos de autor, propiedad legal, autenticidad, valor financiero ni derechos sobre un activo externo.¿Qué significa ERC?
ERC son las siglas de Ethereum Request for Comments.Un ERC describe un estándar técnico que las aplicaciones y los contratos inteligentes pueden seguir para mejorar la interoperabilidad en el ecosistema Ethereum.ERC-721 es el número identificador asignado al estándar de tokens no fungibles.El número no describe la oferta, el precio, la dirección blockchain ni la fecha de lanzamiento del token.Un contrato que implemente ERC-721 puede añadir extensiones opcionales y funciones personalizadas, siempre que el comportamiento requerido siga siendo compatible con el estándar.¿Por qué se creó ERC-721?
Los activos fungibles son intercambiables porque una unidad suele tener la misma función que otra unidad del mismo activo.Los activos no fungibles deben seguirse por separado porque cada unidad puede tener características, historial, rareza, derechos o valor distintos.ERC-721 ofrece a las carteras y aplicaciones un método común para identificar al titular de cada token único.También estandariza las transferencias, las aprobaciones, los permisos de operador y los registros de eventos relacionados con la propiedad.Sin un estándar común, cada contrato de NFT podría requerir una integración diferente.Las funciones compartidas permiten que carteras de uso general, exploradores de blockchain, indexadores, juegos, protocolos de préstamo y otras aplicaciones cripto interactúen con numerosas colecciones de NFT.Cómo funciona ERC-721
Un contrato inteligente ERC-721 almacena o calcula el titular asociado a cada ID de token válido.El contrato también registra cuántos NFT posee cada dirección dentro de esa colección.Cuando se realiza una transferencia autorizada, el contrato elimina la titularidad del remitente y asigna el ID del token al destinatario.El contrato emite un evento estandarizado
¿Qué es un ID de token?
Un ID de token es un entero sin signo que identifica de forma única un NFT dentro de un contrato ERC-721.El mismo ID de token puede existir en varios contratos distintos sin representar el mismo activo.Por tanto, un NFT se identifica conjuntamente por su red blockchain, la dirección del contrato y el ID del token.Por ejemplo, el ID de token 50 de un contrato no guarda relación con el ID de token 50 de otro contrato.Los ID de token no tienen que empezar en cero ni aumentar siguiendo una secuencia sencilla.Una colección puede utilizar ID secuenciales, asignados aleatoriamente, identificadores codificados u otro sistema compatible con su contrato.Las aplicaciones deben consultar el contrato en lugar de suponer que todos los números de un intervalo corresponden a NFT existentes.¿Qué hace que ERC-721 sea no fungible?
Cada token ERC-721 se registra como un objeto individual en la blockchain.Dos NFT de una misma colección pueden tener metadatos, historiales, propiedades, rareza y valores de mercado distintos.Ser titular de un ID de token no otorga la titularidad de otro ID de token.Un token ERC-721 estándar se transfiere como una unidad completa, no como una cantidad decimal.La propiedad económica fraccionada requiere un contrato inteligente o una estructura de tokens independiente del estándar ERC-721 básico.Que dos NFT se consideren no fungibles no garantiza que tengan contenido visual distinto, ya que ID de token separados pueden apuntar a metadatos similares o idénticos.Funciones principales de ERC-721
El estándar básico incluye funciones para consultar la titularidad, transferir NFT y gestionar los permisos de transferencia.Las funciones obligatorias son
La función balanceOf
La función
La función ownerOf
La función
La dirección devuelta por
La función transferFrom
La función
Un NFT transferido a un contrato incompatible mediante
Las funciones safeTransferFrom
ERC-721 incluye dos versiones de
Si el destinatario es un contrato inteligente, el contrato del NFT llama a la función
¿Qué es un receptor ERC-721?
Un receptor ERC-721 es un contrato inteligente que implementa
Un receptor compatible devuelve el selector esperado, que suele representarse como
La documentación actual de la implementación ERC-721 incluye una interfaz de receptor y una utilidad básica para contratos que necesitan aceptar NFT.
Un receptor debe verificar qué contrato de NFT ha activado la función de retorno antes de registrar un depósito o conceder un beneficio.Aprobaciones ERC-721
Las aprobaciones ERC-721 permiten que el titular de un NFT delegue la autoridad para transferirlo sin ceder inmediatamente su titularidad.Una aprobación específica se aplica a un único ID de token.Una aprobación de operador se aplica a todos los NFT que posee una dirección dentro de ese contrato.Las aprobaciones se registran on-chain y pueden utilizarse sin otra firma del titular mientras sigan vigentes.Los usuarios deben tratar las solicitudes de aprobación de NFT como permisos financieros sensibles.Aprobar una dirección no fiable puede permitir que la parte autorizada transfiera NFT valiosos.La función approve
La función
La función getApproved
La función
Una aplicación que compruebe si una cuenta puede transferir un NFT también debe tener en cuenta
La función setApprovalForAll
La función
La función isApprovedForAll
La función
La función devuelve
Eventos ERC-721
ERC-721 define los eventos
El evento Transfer
El evento
Los eventos Approval y ApprovalForAll
El evento
El evento
Detección de interfaces ERC-165
Todo contrato ERC-721 conforme debe admitir la detección de interfaces ERC-165.El estándar ERC-165 define la función
El ID de la interfaz básica ERC-721 es
Un contrato conforme debería devolver
Metadatos ERC-721
ERC-721 incluye una extensión opcional de metadatos.La extensión añade las funciones
El ID de su interfaz ERC-165 es
Cómo funciona tokenURI
La función
Eventos de actualización de metadatos
ERC-721 no proporciona por sí mismo un evento estandarizado para cada cambio de metadatos.La extensión opcional de actualización de metadatos ERC-4906 añade los eventos
El ID de la interfaz ERC-4906 es
Enumeración ERC-721
La extensión opcional de enumeración permite consultar on-chain la oferta de NFT y las listas de titulares.Su ID de interfaz es
La extensión añade
La función
En su lugar, las aplicaciones off-chain pueden reconstruir la titularidad mediante eventos
Acuñación de tokens ERC-721
La acuñación crea un nuevo ID de token válido y le asigna su primer titular.El estándar ERC-721 básico no define quién puede acuñar ni cómo debe solicitarse la acuñación.Una colección puede permitir la acuñación pública, limitarla a roles autorizados, exigir un pago, utilizar listas de permitidos o crear todos los NFT durante el despliegue.Una acuñación suele emitir un evento
Quema de tokens ERC-721
La quema elimina un NFT de los registros de titularidad válida.La interfaz ERC-721 básica no exige una función pública de quema.Una colección puede permitir que los titulares, los operadores aprobados, los administradores o la lógica del protocolo quemen tokens.Una quema suele emitir un evento
Regalías ERC-721
Las regalías para creadores no forman parte del estándar ERC-721 básico.El estándar opcional de regalías para NFT ERC-2981 ofrece un método para informar del destinatario y del importe sugerido de una regalía sobre un precio de venta.
ERC-2981 comunica información sobre regalías, pero no obliga a todas las transferencias o aplicaciones a pagarlas.Una colección puede definir ajustes de regalías predeterminados o específicos para cada token si su implementación lo permite.Los destinatarios y los porcentajes de las regalías pueden modificarse si el contrato concede esa autoridad a un administrador.Los usuarios no deben suponer que toda transferencia ERC-721 incluye un pago al creador exigible.ERC-721 frente a ERC-20
ERC-20 está diseñado para saldos de tokens fungibles, mientras que ERC-721 está diseñado para NFT identificados individualmente.Una cuenta ERC-20 puede tener una cantidad divisible de un token.Una cuenta ERC-721 posee ID de token distintos.La función
ERC-721 frente a ERC-1155
ERC-721 representa ID de token con titularidad individual mediante un contrato de colección de NFT.El estándar mult token ERC-1155 permite que un contrato gestione muchos ID de token con saldos de cantidades independientes.
Un ID de token ERC-1155 puede representar un activo fungible, semifungible o único.Una dirección puede poseer varias unidades de un mismo ID de token ERC-1155.En el modelo estándar, un ID de token ERC-721 válido tiene un único titular.ERC-1155 también admite transferencias por lotes estandarizadas, mientras que las transferencias ERC-721 suelen procesar un NFT cada vez.El estándar adecuado depende de las necesidades de titularidad e inventario del proyecto.Casos de uso de ERC-721
Las colecciones de arte digital pueden utilizar tokens ERC-721 para registrar la titularidad de obras identificadas individualmente.Los juegos blockchain pueden utilizar NFT para personajes, terrenos, equipamiento u otros artículos únicos.Los sistemas de membresía pueden representar derechos de acceso o estatus en una comunidad mediante NFT.Las aplicaciones financieras pueden tokenizar posiciones de deuda únicas, pólizas de seguro, posiciones de liquidez o derechos de cobro.Los sistemas de eventos pueden emitir entradas identificadas individualmente con reglas de transferencia controladas.Los proyectos pueden vincular NFT a productos físicos, aunque el contrato inteligente no puede verificar por sí solo la posesión ni la titularidad legal del objeto físico.Un token ERC-721 también puede representar una credencial, pero no deben almacenarse datos personales sensibles de forma pública en una blockchain pública.Propiedad de NFT frente a derechos de autor
Ser titular de un token ERC-721 significa que el contrato blockchain reconoce como titular del ID de token a la dirección correspondiente.No transfiere automáticamente los derechos de autor de la obra o el contenido multimedia asociado.Los derechos de autor y de uso comercial dependen de la licencia del creador, el acuerdo de venta y la legislación aplicable.Un proyecto puede conceder amplios derechos comerciales, un uso personal limitado o ningún derecho adicional de propiedad intelectual.Los metadatos también pueden hacer referencia a contenido que el emisor del token no tenía permiso para utilizar.Los compradores deben revisar las condiciones legales del proyecto, en lugar de suponer que la titularidad del token concede todos los derechos posibles.Riesgos de las aprobaciones ERC-721
Las solicitudes de aprobación maliciosas representan un riesgo de seguridad importante para los titulares de NFT.Una aplicación de phishing puede solicitar
Transferencias seguras y riesgo de reentrada
Una transferencia segura de NFT llama a código externo cuando el destinatario es un contrato inteligente.El destinatario puede volver a llamar a la aplicación original antes de que la primera operación haya terminado por completo.Este comportamiento puede crear vulnerabilidades de reentrada en contratos de acuñación, venta, préstamo, staking, depósito en garantía o retirada.La guía oficial de seguridad de Solidity recomienda completar las comprobaciones y los cambios importantes de estado antes de las interacciones externas, cuando la lógica prevista lo permita.
Los desarrolladores también deben considerar la reentrada entre funciones, ya que un receptor malicioso puede llamar a otra función expuesta.Las funciones de retorno del receptor deben probarse con contratos maliciosos, no tratarse como simples notificaciones.Riesgos de seguridad de los metadatos
El contenido visible de un NFT puede depender de datos externos a la blockchain.Un servidor externo puede dejar de estar disponible, cambiar su respuesta o eliminar un archivo.Un URI modificable puede apuntar a otro contenido después de la compra.Los metadatos pueden incluir descripciones engañosas, obras copiadas, enlaces externos ocultos o formatos de archivo peligrosos.El almacenamiento descentralizado puede mejorar la persistencia, pero el contenido sigue dependiendo de que continúe disponible y de que los identificadores sean correctos.Los metadatos íntegramente on-chain reducen la dependencia del alojamiento externo, pero pueden aumentar los costes de despliegue y actualización.Riesgos relacionados con la autenticidad del contrato
Cualquiera puede desplegar un contrato ERC-721 con un nombre, símbolo, imagen o ID de token conocido.La compatibilidad con la interfaz no demuestra que una colección sea auténtica.Los usuarios deben verificar la red blockchain y la dirección completa del contrato a través de una fuente oficial del proyecto.La publicación de código fuente verificado demuestra la correspondencia del código, pero no garantiza una conducta empresarial honesta ni un diseño económico seguro.También deben revisarse el historial de los tokens, las declaraciones del creador, los permisos administrativos y los controles de metadatos.Contratos ERC-721 actualizables
Un contrato ERC-721 puede utilizar un proxy que permita modificar su lógica después del despliegue.Las actualizaciones pueden corregir errores o añadir funciones.También pueden cambiar el comportamiento de acuñación, transferencia, aprobación, metadatos, regalías, pausa o quema.Una autoridad de actualización comprometida puede instalar lógica maliciosa que afecte a la titularidad de los NFT.Los usuarios deben averiguar quién controla las actualizaciones, cuántas firmas se necesitan y si se aplica un periodo de espera.Una colección descrita como descentralizada puede seguir teniendo funciones administrativas con amplios poderes.Cómo pueden implementar ERC-721 los desarrolladores
Los desarrolladores deben utilizar una implementación revisada y mantenida activamente, salvo que sea necesario un diseño personalizado.La guía de desarrollo ERC-721 actual describe implementaciones básicas y extensiones opcionales para metadatos, enumeración, quema, pausa, regalías, votación y otros usos.
El acceso a la acuñación debe ajustarse a las reglas de oferta documentadas para la colección.Las transferencias y aprobaciones deben rechazar a quienes no estén autorizados y las direcciones no válidas.Debe utilizarse la acuñación segura cuando un token pueda emitirse directamente a un contrato inteligente.Los desarrolladores deben probar receptores maliciosos, reentrada, ID de token no válidos, eliminación de aprobaciones, permisos de operador, quemas y detección de interfaces.Las funciones administrativas deben contar con un control de acceso claro y emitir eventos útiles.Cómo evaluar un NFT ERC-721
El primer paso es verificar la red, la dirección del contrato y el ID del token.El segundo es confirmar que el contrato admite la interfaz básica ERC-721.El tercero es inspeccionar el titular actual y el historial de transferencias.El cuarto es revisar las aprobaciones específicas del token y las aplicables a toda la colección.El quinto es comprobar cómo se almacenan los metadatos y los archivos multimedia asociados.El sexto es identificar quién tiene autoridad para acuñar, quemar, pausar, congelar y actualizar.El séptimo es determinar si las afirmaciones sobre la oferta y la rareza se pueden verificar on-chain.El octavo es revisar las auditorías y el código fuente sin considerarlos garantías.El noveno es comprender qué derechos legales o comerciales acompañan al NFT.El décimo es probar los contratos desconocidos con una transacción de poco valor antes de arriesgar activos valiosos.Ejemplo de transferencia ERC-721
Supongamos que Alice posee el ID de token 101 de una colección ERC-721.La función
Su cartera llama a
El contrato actualiza sus registros de titularidad y llama a
Si se devuelve el selector correcto, la transferencia se completa y el contrato del NFT emite un evento
Errores habituales con ERC-721
Un error habitual es suponer que el nombre de una colección identifica de forma única un NFT.Otro error es conceder acceso de operador a toda la colección sin revisar la dirección del operador.Un tercer error es creer que desconectar una cartera elimina las aprobaciones on-chain.Un cuarto error es utilizar
Preguntas frecuentes
¿Qué significa ERC-721?
ERC-721 es el estándar de Ethereum que define las reglas de titularidad, transferencia, aprobación e interfaz para los tokens no fungibles.¿ERC-721 es lo mismo que un NFT?
ERC-721 es un estándar técnico para NFT, mientras que NFT es un término más amplio que puede incluir tokens creados con otros estándares.¿ERC-721 es fungible?
No. Cada ID de token ERC-721 válido se registra de forma individual y puede tener propiedades y valor distintos.¿Cuál es el ID de interfaz ERC-721?
El ID de la interfaz básica ERC-721 es
¿Qué identifica un NFT ERC-721?
Un NFT se identifica conjuntamente por su red blockchain, la dirección del contrato inteligente y el ID del token.¿Qué devuelve balanceOf?
Devuelve el número de NFT que posee una dirección dentro de un contrato ERC-721.¿Qué devuelve ownerOf?
Devuelve la dirección del titular actual de un ID de token válido.¿Cuál es la diferencia entre transferFrom y safeTransferFrom?
¿Se puede enviar un NFT ERC-721 a un contrato inteligente?
Sí, pero normalmente debe utilizarse una transferencia segura para que el destinatario confirme que puede aceptar el NFT.¿Qué hace approve?
Concede a una dirección permiso para transferir un NFT concreto.¿Qué hace setApprovalForAll?
Autoriza a un operador a gestionar todos los NFT que el titular posee en ese contrato ERC-721.¿Caduca automáticamente una aprobación de operador?
No. Una aprobación de operador estándar sigue activa hasta que el titular la revoca o la lógica personalizada del contrato modifica sus efectos.¿Se elimina la aprobación específica de un token al transferirlo?
Sí, la aprobación específica se elimina cuando se transfiere el NFT.¿Son obligatorios los metadatos para ERC-721?
No. La interfaz de metadatos es opcional, aunque la mayoría de las colecciones de NFT la implementan.¿Pueden cambiar los metadatos ERC-721?
Sí, pueden cambiar, salvo que el contrato y el sistema de almacenamiento ofrezcan una garantía de inmutabilidad verificable.¿Todos los contratos ERC-721 tienen totalSupply?
No.
¿ERC-721 define la acuñación?
El estándar reconoce la acuñación mediante eventos de titularidad, pero no exige una función pública de acuñación concreta ni una política de oferta determinada.¿ERC-721 define la quema?
No. La función de quema es opcional y depende de cada implementación.¿ERC-721 impone el pago de regalías?
No. Las regalías requieren lógica o estándares independientes, y la información sobre ellas no obliga automáticamente a efectuar el pago.¿Ser titular de un token ERC-721 concede derechos de autor?
No. Los derechos de propiedad intelectual dependen de la licencia y el acuerdo legal aplicables.¿Se pueden actualizar los contratos ERC-721?
Algunos pueden actualizarse mediante sistemas proxy, mientras que otros son inmutables tras su despliegue.¿Se puede fraccionar un NFT ERC-721?
La propiedad fraccionada requiere otro contrato o mecanismo de tokens, porque el token ERC-721 básico se posee como una unidad completa.¿Se puede utilizar una aprobación ERC-721 para robar NFT?
Sí. Una dirección aprobada maliciosa puede transferir los NFT cubiertos por su permiso.¿El cumplimiento de ERC-721 demuestra autenticidad?
No. Cualquiera puede desplegar un contrato compatible, por lo que la dirección de la colección y el emisor deben verificarse de forma independiente.¿Cuál es la principal ventaja de ERC-721?
Su principal ventaja es estandarizar la titularidad y las transferencias, lo que permite que muchas aplicaciones cripto interactúen con activos tokenizados únicos.Conclusión
ERC-721 es el principal estándar de Ethereum para representar tokens no fungibles identificados individualmente.Define consultas comunes de titularidad, transferencias, aprobaciones, permisos de operador, eventos y detección de interfaces.Cada NFT se identifica de forma única mediante su red blockchain, la dirección del contrato y el ID del token.El ID de la interfaz básica es
También te puede interesar
WhatsMiner M30S++
Dominios Web3
Proyectos Web3
POPULAR
Criptomonedas de moda que están acaparando la atención del mercado
Volumen TOP
Las criptomonedas con mayor volumen de trading
Recién Añadidos
Criptomonedas recientemente listadas y disponibles para operar

