ERC-721: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Нет описания правки |
Нет описания правки |
||
Строка 17: | Строка 17: | ||
На [[блокчейн Decimal|блокчейне Decimal]] реализована собственная продвинутая версия этого стандарта — '''[[DRC-721]]''', обладающая более расширенным функционалом. | На [[блокчейн Decimal|блокчейне Decimal]] реализована собственная продвинутая версия этого стандарта — '''[[DRC-721]]''', обладающая более расширенным функционалом. | ||
== Характеристики токенов ERC-721 == | |||
* '''Имя токена.''' Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов. | |||
* '''Право собственности.''' Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности. | |||
* '''Отслеживание токенов.''' Шаблон токена имеет поле «tokenOfOwnerByIndex», которое позволяет разработчикам отслеживать токены с помощью уникального идентификатора. | |||
== Функции смарт-контракта ERC-721 == | |||
* <code>balanceOf</code> — возвращает баланс адреса. | |||
* <code>ownerOf</code> — возвращает адрес владельца токена. | |||
* <code>safeTransferFrom</code> — отвечает за перенос токена с одного адреса на другой с проверками, чтобы убедиться, что получатель может принять токен, и тот не сгорит или не потеряется. | |||
* <code>transferFrom</code> — перевод токена с одного адреса на другой (нерекомендуемая функция). Функция отвечает за указание правильного адреса получателя. | |||
* <code>approve</code> — одобрить любой другой адрес для отправки транзакции со счета владельца токена на любой другой аккаунт. | |||
* <code>setApprovalForAll</code> — разрешить или запретить любому адресу (в основном кошелькам и биржам) отправлять все токены с адреса владельца на любой другой адрес. | |||
* <code>getApproved</code> — возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан. | |||
* <code>isApprovedForAll</code> — возвращает true, если данный оператор (любой адрес) одобрен владельцем. | |||
== См. также == | == См. также == |
Текущая версия от 18:02, 10 июля 2024
![](/wiki/images/thumb/a/a9/ERC-721-00.png/400px-ERC-721-00.png)
![](/wiki/images/thumb/5/5f/ERC-721-01.png/400px-ERC-721-01.png)
ERC-721 (англ.Ethereum Request for Comments, «Запрос комментариев Ethereum» #721) — стандарт смарт-контрактов в блокчейне Ethereum, предназначенный для создания невзаимозаменяемых токенов (NFT). Данный стандарт создан Уильямом Энтрикеном, Дитером Ширли, Джейкобом Эвансом и Настасьей Сакс в 2018 году, чтобы преодолеть ограничения интерфейса ERC-20, облегчить создание NFT и обеспечить безопасную передачу этих уникальных активов и владение ими.
Особенности ERC-721
В отличие от более общего протокола ERC-20, ERC-721 содержит набор инструкций по созданию уникальных токенов. Стандарт предусматривает, что созданные на нём цифровые активы существуют в единичном экземпляре и не могут быть обменены один к одному (как обычные токены или монеты), поскольку обладают неповторимыми свойствами и могут быть привязаны к конкретному собственнику.
В контексте Web3 ERC-721 предоставляет платформу для создания децентрализованных приложений, которые используют NFT для различных целей, от виртуальных миров до платформ децентрализованных финансов (DeFi).
Стандарт ERC-721 написан на языке Solidity и состоит из набора функций, которые разработчики могут реализовать в своих смарт-контрактах для создания токенов с уникальными метаданными, что делает их отличимыми друг от друга.
На блокчейне Decimal реализована собственная продвинутая версия этого стандарта — DRC-721, обладающая более расширенным функционалом.
Характеристики токенов ERC-721
- Имя токена. Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов.
- Право собственности. Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности.
- Отслеживание токенов. Шаблон токена имеет поле «tokenOfOwnerByIndex», которое позволяет разработчикам отслеживать токены с помощью уникального идентификатора.
Функции смарт-контракта ERC-721
balanceOf
— возвращает баланс адреса.ownerOf
— возвращает адрес владельца токена.safeTransferFrom
— отвечает за перенос токена с одного адреса на другой с проверками, чтобы убедиться, что получатель может принять токен, и тот не сгорит или не потеряется.transferFrom
— перевод токена с одного адреса на другой (нерекомендуемая функция). Функция отвечает за указание правильного адреса получателя.approve
— одобрить любой другой адрес для отправки транзакции со счета владельца токена на любой другой аккаунт.setApprovalForAll
— разрешить или запретить любому адресу (в основном кошелькам и биржам) отправлять все токены с адреса владельца на любой другой адрес.getApproved
— возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан.isApprovedForAll
— возвращает true, если данный оператор (любой адрес) одобрен владельцем.