ERC-721
ERC-721 es un estándar para representar tokens no fungibles (NFTs) en la blockchain de Ethereum, que define cómo se crean, gestionan y comercializan los activos digitales únicos.
ERC-721 es un estándar crucial dentro del ecosistema de Ethereum, que proporciona un modelo para los NFTs. Permite la creación de activos digitales únicos, cada uno con su propio identificador distinto, almacenado en la blockchain. Este estándar especifica las funciones y eventos que un contrato NFT debe implementar, como transferFrom, balanceOf y ownerOf, lo que permite la interoperabilidad entre diferentes proyectos y mercados de NFT.
A diferencia de los tokens ERC-20, que son fungibles (intercambiables), los tokens ERC-721 no son fungibles, lo que significa que cada token es único y tiene su propio valor o atributos específicos. Esta singularidad es lo que hace que los NFTs sean adecuados para representar elementos como arte digital, coleccionables, bienes raíces virtuales y elementos dentro de los juegos. El estándar ERC-721 garantiza que estos activos puedan ser propiedad y transferidos de manera verificable en la blockchain de Ethereum.
graph LR
Center["ERC-721"]:::main
Pre_erc_20["erc-20"]:::pre --> Center
click Pre_erc_20 "/terms/erc-20"
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Center --> Child_nft["nft"]:::child
click Child_nft "/terms/nft"
Center --> Child_metadata["metadata"]:::child
click Child_metadata "/terms/metadata"
Center --> Child_soulbound_token["soulbound-token"]:::child
click Child_soulbound_token "/terms/soulbound-token"
Rel_erc_1155["erc-1155"]:::related -.-> Center
click Rel_erc_1155 "/terms/erc-1155"
Rel_ipfs["ipfs"]:::related -.-> Center
click Rel_ipfs "/terms/ipfs"
Rel_erc_20["erc-20"]:::related -.-> Center
click Rel_erc_20 "/terms/erc-20"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
Imagine ERC-721 as a digital certificate of ownership for unique items, like a one-of-a-kind [trading](/es/terms/trading) card or a specific piece of digital art. Each card or artwork has its own special number, and the [blockchain](/es/terms/blockchain) keeps track of who owns which specific item.
🤓 Expert Deep Dive
ERC-721 (EIP-207) establishes a standard for non-fungible tokens, enabling the representation of unique digital assets on Ethereum. Its core innovation lies in the tokenId mechanism, which allows for granular tracking and ownership of individual assets within a single smart contract. The ownerOf function provides direct retrieval of an asset's proprietor, while transferFrom and the more secure safeTransferFrom facilitate provenance tracking. The safeTransferFrom function incorporates checks to ensure the receiving address is capable of handling ERC-721 tokens, typically by verifying adherence to the ERC-721 or ERC-1155 standards via onERC721Received callbacks. This prevents tokens from being sent to incompatible contracts, thereby avoiding 'black holes'. The approve and isApprovedForAll functions enable delegated management, crucial for marketplaces and secondary sale mechanisms. Architectural trade-offs include increased gas costs per token compared to ERC-20 due to the need to store and manage individual tokenId ownership mappings. Furthermore, the immutability of tokenId assignments means that once a token is minted, its identifier cannot be changed, necessitating careful planning during contract deployment.