ERC-721
ERC-721 — это стандарт для представления невзаимозаменяемых токенов (NFT) в блокчейне Ethereum, определяющий, как создаются, управляются и торгуются уникальные цифровые активы.
ERC-721 — важный стандарт в экосистеме Ethereum, предоставляющий основу для NFT. Он позволяет создавать уникальные цифровые активы, каждый со своим уникальным идентификатором, хранящимся в блокчейне. Этот стандарт определяет функции и события, которые должен реализовать контракт NFT, такие как transferFrom, balanceOf и ownerOf, обеспечивая взаимодействие между различными NFT-проектами и торговыми площадками.
В отличие от токенов ERC-20, которые являются взаимозаменяемыми, токены ERC-721 являются невзаимозаменяемыми, то есть каждый токен уникален и имеет свою конкретную стоимость или атрибуты. Эта уникальность делает NFT подходящими для представления таких предметов, как цифровое искусство, предметы коллекционирования, виртуальная недвижимость и внутриигровые предметы. Стандарт ERC-721 гарантирует, что эти активы могут быть проверены на владение и переданы в блокчейне 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;
🧠 Проверка знаний
🧒 Простыми словами
Представьте [ERC-20](/ru/terms/erc-20) как долларовые купюры — один доллар такой же, как другой. ERC-721 — это как коллекция бейсбольных карточек или картин. Даже если они от одного художника или серии, каждая имеет уникальный серийный номер и разное изображение. Вы не можете просто обменять их 1 к 1, как доллары.
🤓 Expert Deep Dive
ERC-721 реализует функцию ownerOf(tokenId) для отслеживания владельца каждого ID, а не просто баланса. Он также требует использования safeTransferFrom, чтобы предотвратить отправку токенов на контракты, которые их не поддерживают (защита от потери). Метаданные обрабатываются через tokenURI(tokenId), который указывает на офчейн JSON-файл (часто в IPFS) с изображением и атрибутами.