Что такое ERC-721: Основа экосистемы NFT

Ключевые выводы
• ERC-721 — стандарт для уникальных невзаимозаменяемых токенов на Ethereum.
• Стандарт обеспечивает единообразие в кошельках и на маркетплейсах.
• Метаданные могут храниться как on-chain, так и off-chain, с использованием децентрализованных хранилищ.
• Расширения ERC-2981, ERC-4494 и ERC-4907 улучшают функциональность NFT.
• Безопасность и управление одобрениями критически важны для защиты активов.
Невзаимозаменяемые токены (NFT) позволяют владеть, торговать и комбинировать цифровые активы в публичных блокчейнах. В основе этой трансформации лежит ERC-721 — стандарт Ethereum, определяющий, как уникальные токены создаются, передаются и обнаруживаются в кошельках, на маркетплейсах и в приложениях. Если вы когда-либо создавали коллекционный предмет, покупали внутриигровой актив или ограничивали доступ к сообществу, вы, вероятно, взаимодействовали с ERC-721.
В этой статье мы разберем, что такое ERC-721, как он работает, распространенные подводные камни, почему расширения имеют значение и куда стандарт движется в 2025 году.
Что на самом деле определяет ERC-721
ERC-721 — это интерфейс Ethereum для невзаимозаменяемых токенов — активов, уникальных по своему идентификатору и не подлежащих обмену 1:1, как взаимозаменяемые токены ERC-20. Стандарт определяет основные функции и события, которые должны реализовать все совместимые контракты, обеспечивая единообразную поддержку в кошельках и на маркетплейсах. Ознакомьтесь с канонической спецификацией на сайте Ethereum Improvement Proposals: EIP-721.
Основные компоненты включают:
- Владение и баланс:
ownerOf(tokenId),balanceOf(owner) - Переводы:
transferFrom,safeTransferFrom(рекомендуется для пользовательских аккаунтов и смарт-контрактов) - Одобрения:
approve,getApproved,setApprovalForAll - События:
Transfer,Approval,ApprovalForAll - Опциональное расширение метаданных:
name,symbol,tokenURIдля метаданных на уровне элемента
Для разработчиков самый простой способ начать — использовать проверенные библиотеки, такие как реализация от OpenZeppelin, которая поддерживает расширения для перечисления и метаданных: OpenZeppelin ERC-721.
Минимальный интерфейс выглядит следующим образом:
interface IERC721 {
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);
function balanceOf(address owner) external view returns (uint256);
function ownerOf(uint256 tokenId) external view returns (address);
function safeTransferFrom(address from, address to, uint256 tokenId) external;
function transferFrom(address from, address to, uint256 tokenId) external;
function approve([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/) to, uint256 tokenId) external;
function setApprovalForAll([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/) operator, bool approved) external;
function getApproved(uint256 tokenId) external view returns ([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/));
// Опциональное расширение метаданных
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function tokenURI(uint256 tokenId) external view returns (string memory);
}
Для общего обзора документация Ethereum предоставляет дополнительный контекст и лучшие практики: ERC-721 developers docs.
Метаданные: on-chain против off-chain
Сам по себе ERC-721 не диктует, как хранить метаданные; он просто возвращает tokenURI, который указывает на JSON-файл, описывающий актив (название, описание, изображение, атрибуты). На практике большинство проектов используют децентрализованные хранилища:
- IPFS для адресации контента и его распространения: IPFS
- Arweave для постоянного, надежного хранения: Arweave
- Схемы маркетплейсов, такие как руководство по метаданным OpenSea: OpenSea Metadata Standards
Хранение метаданных on-chain (в блокчейне) возможно (и становится все более популярным для долгосрочной надежности), но более дорогостоящее. Часто используется гибридный подход — небольшой JSON on-chain плюс медиа off-chain.
Для продвинутого получения данных из off-chain источников без ущерба для предположений о доверии, ERC-3668 («CCIP-Read») позволяет контрактам проверять off-chain данные on-chain: EIP-3668.
ERC-721 против ERC-1155
ERC-721 предназначен для уникальных, неповторимых предметов. ERC-1155 — это стандарт мультитокенов, поддерживающий как взаимозаменяемые, так и невзаимозаменяемые токены в рамках одного контракта, что делает его идеальным для полу-взаимозаменяемых игровых предметов или выпусков. Если вы создаете выпуски или партии с общими метаданными, рассмотрите ERC-1155: EIP-1155. Для чисто уникальных предметов, где каждый токен имеет свой собственный жизненный цикл и передается отдельно, ERC-721 остается стандартом по умолчанию.
Расширения, имеющие значение в 2025 году
Экосистема продолжает развиваться вокруг ERC-721 с помощью опциональных стандартов, улучшающих пользовательский опыт, компонуемость и монетизацию:
- Роялти: ERC-2981 стандартизирует информацию о роялти создателя на уровне контракта, чтобы маркетплейсы могли единообразно получать настройки роялти. Обратите внимание, что принудительное исполнение роялти зависит от маркетплейса, а не от протокола. Узнайте больше: EIP-2981 и политики маркетплейсов, такие как обзор комиссий для создателей OpenSea.
- Разрешение для NFT: ERC-4494 вводит типизированные подписи EIP-712 для одобрений, обеспечивая одобрения без газа и улучшенный пользовательский опыт без предоставления широких полномочий операторам. EIP-4494.
- Права на аренду/использование: ERC-4907 добавляет роль «пользователя» с временной меткой истечения срока действия, что позволяет осуществлять аренду на ограниченный срок без передачи права собственности. EIP-4907.
- Привязанные к токену счета (TBA): ERC-6551 позволяет NFT иметь собственный кошелек смарт-контракта, обеспечивая владение активами, идентификацию и сложное поведение, связанное с самим токеном. Это значительный прорыв для игр, идентификации и компонуемого искусства. EIP-6551.
В совокупности эти расширения делают NFT более программируемыми и соответствующими реальным сценариям использования: подписки, внутриигровые инвентари, динамическое искусство и идентификация в блокчейне.
Безопасность и UX: распространенные подводные камни
Поскольку ERC-721 включает одобрения и переводы, он часто становится мишенью для фишинга и социальной инженерии. Практические советы:
- Отдавайте предпочтение
safeTransferFromдля переводов, инициированных пользователем. Он проверяет получателя на наличиеonERC721Receivedпри отправке в смарт-контракты, предотвращая случайную потерю токенов. См. примечания к реализации в документации OpenZeppelin по ERC-721. - Остерегайтесь бессрочных одобрений.
setApprovalForAll— мощная функция; если оператор скомпрометирован, все ваши NFT находятся под угрозой. Рассмотрите возможность отзыва одобрений после использования и регулярно проверяйтеgetApprovedи списки операторов. - Проверяйте подписи. Многие NFT-приложения используют типизированные данные EIP-712 для одобрений, листингов и внебиржевых ордеров. Всегда читайте сообщение и подтверждайте домен и намерение перед подписанием: EIP-712.
- Используйте аппаратные кошельки для создания NFT, одобрений и переводов. Специальное устройство помогает изолировать ключи и снижает риск атак вредоносного ПО или браузерных кошельков.
Если вы задумываетесь о хранении, аппаратные кошельки OneKey создают автономную среду подписания с четкими сводками транзакций и поддержкой нескольких блокчейнов. Это упрощает проверку и безопасное выполнение взаимодействий с ERC-721, особенно одобрений, листингов и подписей разрешений.
Газ и масштабируемость: ERC-721 на Layer 2
Активность NFT все больше перемещается в сети Layer 2 для более быстрой финализации и снижения затрат. ERC-721 работает в L2 так же, как и в основной сети; разница заключается в базовой технологии роллапа и расчетах. Перед развертыванием проверьте:
- Как ваш маркетплейс индексирует токены и метаданные на целевом L2
- Поведение мостов (создание и сжигание или зеркальные контракты)
- Время финализации секвенсора и вывода средств
Обзор экосистем L2 и их компромиссов см. в документации Ethereum по Layer 2: Обзор Layer-2.
Абстракция учетных записей (AA) через ERC-4337 также меняет пользовательский опыт NFT, предлагая спонсирование газа и программируемые политики подписей. Это позволяет создавать «NFT без газа» и более безопасные сессионные ключи для внутриприложений. Подробнее о EIP-4337 и введение в AA от Alchemy: Обзор абстракции учетных записей.
Чек-лист для разработчика: надежные интеграции ERC-721
- Используйте проверенные библиотеки и следуйте спецификации: EIP-721, OpenZeppelin ERC-721.
- Заранее определитесь с хранилищем метаданных: IPFS, Arweave или on-chain. Ссылки на документацию по схемам: OpenSea Metadata Standards, IPFS, Arweave.
- Выберите расширения, соответствующие вашему продукту: EIP-2981, EIP-4494, EIP-4907, EIP-6551.
- Спланируйте развертывание и индексацию на L2: Обзор Layer-2.
- Внедрите надежное управление одобрениями, потоки отзыва и четкие диалоги подписания с использованием EIP-712: EIP-712.
- Рассмотрите AA для более простого онбординга и спонсируемых действий: EIP-4337, Обзор абстракции учетных записей.
Перспективы на 2025 год: NFT за пределами коллекционирования
Хотя аватары (profile pictures) вызвали первую волну массового интереса, ERC-721 продолжает расширяться в категории, основанные на полезности:
- Игры: внутриигровые предметы, косметика и инвентарь, принадлежащий игрокам, выигрывают от TBA и аренды для создания значимых игровых экономик.
- Идентификация и членство: опыт с доступом по токенам, учетные данные и примитивы сообщества используют подписи и AA для мобильного пользовательского опыта.
- Билеты и подписки: права с ограниченным сроком действия через ERC-4907 моделируют реальные шаблоны доступа.
- Культурные активы и динамическое искусство: метаданные в блокчейне, CCIP-Read и модульные контракты обеспечивают долговечность и эволюцию творческих работ.
Для более широкого объяснения концепций и вариантов использования NFT см. обзор NFT от Ethereum: NFT на Ethereum.
Почему хранение по-прежнему важно для ERC-721
Одобрения, листинги и подписи для создания NFT напрямую влияют на право собственности. Если ваш подписчик скомпрометирован, ваши NFT могут быть перемещены без вашего согласия. Аппаратные кошельки остаются простым и эффективным средством защиты для всех, кто регулярно взаимодействует с контрактами ERC-721.
OneKey предлагает:
- Автономные приватные ключи и безопасное подписание для переводов ERC-721, одобрений и подписей разрешений
- Четкие предварительные просмотры транзакций и сообщений, помогающие обнаруживать вредоносных операторов или вводящие в заблуждение подписи
- Широкую поддержку EVM и L2 для бесперебойной работы NFT на разных блокчейнах
Если вы торгуете, коллекционируете или создаете NFT, использование программных кошельков в сочетании с аппаратным кошельком OneKey добавляет важный уровень защиты — особенно по мере развития ERC-721 с расширенными функциями и абстракцией учетных записей.
ERC-721 заложил основу для всей экосистемы NFT. По мере роста компонуемости и улучшения пользовательского опыта простота стандарта остается его суперсилой: универсальным языком для уникального владения в программируемом мире.






