ERC-721: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Нет описания правки |
|||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 6: | Строка 6: | ||
}} | }} | ||
[[Файл:ERC-721-00.png|400px|thumb|right]] | [[Файл:ERC-721-00.png|400px|thumb|right]] | ||
'''ERC-721''' ({{lang-en|Ethereum Request for Comments}}, «Запрос комментариев Ethereum» #721) — [[стандарты NFT|стандарт]] [[смарт-контракт NFT|смарт-контрактов]] в [[блокчейн]]е [[Ethereum]], предназначенный для создания [[невзаимозаменяемый токен|невзаимозаменяемых токенов]] ([[NFT]]). Данный стандарт создан Уильямом Энтрикеном, Дитером Ширли, Джейкобом Эвансом и Настасьей Сакс в 2018 году, чтобы преодолеть ограничения интерфейса [[ERC-20]], облегчить создание [[NFT]] и обеспечить безопасную передачу этих уникальных активов и владение ими. | [[Файл:ERC-721-01.png|400px|thumb|right|Пример кода смарт-контракта NFT стандарта ERC-721 на основе библиотеки OpenZeppelin.]] | ||
'''ERC-721''' ({{lang-en|Ethereum Request for Comments}}, «Запрос комментариев Ethereum» #721) — [[стандарты NFT|стандарт]] [[смарт-контракт NFT|смарт-контрактов]] в [[блокчейн]]е [[Ethereum]], предназначенный для создания [[невзаимозаменяемый токен|невзаимозаменяемых токенов]] ([[NFT]]). Данный стандарт создан Уильямом Энтрикеном, Дитером Ширли, Джейкобом Эвансом и Настасьей Сакс в 2018 году, чтобы преодолеть ограничения интерфейса [[ERC-20]], облегчить создание [[NFT]] и обеспечить безопасную передачу этих уникальных активов и владение ими. | |||
== Особенности ERC-721 == | |||
В отличие от более общего протокола ERC-20, ERC-721 содержит набор инструкций по созданию '''уникальных токенов'''. Стандарт предусматривает, что созданные на нём [[цифровые активы]] существуют в единичном экземпляре и не могут быть обменены один к одному (как обычные [[токен]]ы или [[монета|монеты]]), поскольку обладают неповторимыми свойствами и могут быть привязаны к конкретному собственнику. | В отличие от более общего протокола ERC-20, ERC-721 содержит набор инструкций по созданию '''уникальных токенов'''. Стандарт предусматривает, что созданные на нём [[цифровые активы]] существуют в единичном экземпляре и не могут быть обменены один к одному (как обычные [[токен]]ы или [[монета|монеты]]), поскольку обладают неповторимыми свойствами и могут быть привязаны к конкретному собственнику. | ||
В контексте [[Web3]] ERC-721 предоставляет платформу для создания [[dApps|децентрализованных приложений]], которые используют NFT для различных целей, от виртуальных миров до платформ децентрализованных финансов ([[DeFi]]). | В контексте [[Web3]] ERC-721 предоставляет платформу для создания [[dApps|децентрализованных приложений]], которые используют NFT для различных целей, от виртуальных миров до платформ децентрализованных финансов ([[DeFi]]). | ||
Стандарт ERC-721 написан на языке [[Solidity]] и состоит из набора функций, которые разработчики могут реализовать в своих [[смарт-контракт]]ах для создания токенов с уникальными [[метаданные|метаданными]], что делает их отличимыми друг от друга. | Стандарт ERC-721 написан на языке [[Solidity]] и состоит из набора функций, которые разработчики могут реализовать в своих [[смарт-контракт]]ах для создания токенов с уникальными [[метаданные|метаданными]], что делает их отличимыми друг от друга. | ||
На [[блокчейн Decimal|блокчейне Decimal]] реализована собственная продвинутая версия этого стандарта — '''[[DRC-721]]''', обладающая более расширенным функционалом. | |||
== Характеристики токенов ERC-721 == | == Характеристики токенов ERC-721 == | ||
* '''Имя токена.''' Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов. | * '''Имя токена.''' Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов. | ||
* '''Право собственности.''' Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности. | * '''Право собственности.''' Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности. | ||
Строка 32: | Строка 32: | ||
* <code>getApproved</code> — возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан. | * <code>getApproved</code> — возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан. | ||
* <code>isApprovedForAll</code> — возвращает true, если данный оператор (любой адрес) одобрен владельцем. | * <code>isApprovedForAll</code> — возвращает true, если данный оператор (любой адрес) одобрен владельцем. | ||
== См. также == | == См. также == | ||
* [[Стандарты NFT]] | * [[Стандарты NFT]] | ||
* [[ERC-1155]] | * [[ERC-1155]] | ||
* [[ERC-998]] | |||
[[Категория:Стандарты NFT]] | [[Категория:Стандарты NFT]] |
Текущая версия от 18:02, 10 июля 2024
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, если данный оператор (любой адрес) одобрен владельцем.