ERC-721: различия между версиями

Материал из Decimal Wiki
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 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 ==
Стандарт ERC-721 написан на языке [[Solidity]] и состоит из набора функций, которые разработчики могут реализовать в своих [[смарт-контракт]]ах для создания токенов с уникальными [[метаданные|метаданными]], что делает их отличимыми друг от друга.
Стандарт ERC-721 написан на языке [[Solidity]] и состоит из набора функций, которые разработчики могут реализовать в своих [[смарт-контракт]]ах для создания токенов с уникальными [[метаданные|метаданными]], что делает их отличимыми друг от друга.


Смарт-контракт ERC-721 ведёт учёт владения токеном, обеспечивает безопасную передачу токена от пользователя к пользователю, отслеживает общий объём обеспечения токена и баланс токенов, принадлежащих отдельным адресам.
На [[блокчейн Decimal|блокчейне Decimal]] реализована собственная продвинутая версия этого стандарта — '''[[DRC-721]]''', обладающая более расширенным функционалом.


== Характеристики токенов ERC-721 ==
== Характеристики токенов ERC-721 ==
[[Файл:ERC-721-01.png|400px|thumb|right|Пример кода смарт-контракта NFT стандарта ERC-721 на основе библиотеки OpenZeppelin.]]
* '''Имя токена.''' Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов.
* '''Имя токена.''' Каждый токен ERC-721 имеет поле имени, которое указывает имя токена для внешних приложений или контрактов.
* '''Право собственности.''' Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности.
* '''Право собственности.''' Шаблон токена имеет поле функций, которое определяет право собственности на базовый токен и дает указания о том, как передать это право собственности.
Строка 32: Строка 32:
* <code>getApproved</code> — возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан.
* <code>getApproved</code> — возвращает адрес, по которому разрешено передавать токен владельцам. Возвращает 0, если адрес не задан.
* <code>isApprovedForAll</code> — возвращает true, если данный оператор (любой адрес) одобрен владельцем.
* <code>isApprovedForAll</code> — возвращает true, если данный оператор (любой адрес) одобрен владельцем.
== Преимущества ERC-721 для NFT ==
Стандарт токенов ERC-721 предлагает ряд преимуществ для работы с NFT:
* '''Владение.''' Протокол позволяет пользователям безопасно владеть уникальными цифровыми активами, передавать их и управлять ими с прозрачными и поддающимися проверке записями о владении.
* '''Совместимость.''' NFT могут легко взаимодействовать с различными [[DEX|торговыми площадками]], [[криптокошелёк|кошельками]] и [[dApps]] в сети Ethereum и совместимых с ней блокчейнах, повышая их полезность и доступность.
* '''Редкость и уникальность.''' В отличие от взаимозаменяемых токенов, NFT ERC-721 представляют собой отдельные предметы с уникальными свойствами, что делает их ценными как для коллекционеров, так и для создателей.
* '''Программируемость.''' Протокол ERC-721 позволяет создателям встраивать дополнительные функциональные возможности в свои NFT, такие как гонорары исполнителям, внутриигровые утилиты или динамично изменяющиеся атрибуты.
* '''Дефицит цифровых данных.''' При ограниченном предложении и прозрачном происхождении NFT ERC-721 создают дефицит цифровых данных, что может способствовать их долгосрочной ценности.
* '''Права интеллектуальной собственности.''' Протокол позволяет защитить интеллектуальную собственность, предоставляя художникам и создателям неизменяемые записи их работ, а также средства отслеживания использования и перепродажи.
* '''Долевое владение.''' NFT, построенные на стандарте ERC-721, могут быть разделены на более мелкие торгуемые доли, что позволяет более широкой аудитории инвестировать в данный актив.
* '''Кроссплатформенная совместимость.''' Протокол позволяет использовать NFT на различных платформах и в приложениях, расширяя их потенциальные варианты использования.
== Создание ERC-721 NFT на DecimalChain ==
В [[блокчейн Decimal]] интегрирован '''[[thirdweb Explore]]''' — библиотека готовых проверенных [[смарт-контракт]]ов с открытым исходным кодом для различных вариантов использования, с расширениями и функциями, которые позволяют за считанные минуты создать собственный NFT для использования в играх и бизнес-проектах, управления [[сообщество]]м или решения множества других задач.
Спектр применения NFT ERC-721 в [[экосистема Decimal|экосистеме Decimal]] необычайно широк. Вы можете:
* [[делегирование|делегировать]] свои NFT и получать токены ERC-20 в качестве [[вознаграждение|вознаграждения]] за [[стейкинг NFT|стейкинг]];
* создать бесплатную или платную [[программа лояльности|программу членства]] для вашего сообщества или экосистемы;
* генерировать постоянный доход от NFT-подписки;
* оформить свои авторские работы в виде NFT, а затем продавать их на торговой площадке;
* создать личную или общественную [[NFT-коллекция|коллекцию NFT]], которую можно монетизировать различными способами,
* и т. д.
{{совет|А возможно, вы придумали свой собственный оригинальный вариант использования NFT — в таком случае милости просим написать о вашем проекте на страницах [[Decimal Wiki]]!}}


== См. также ==
== См. также ==

Текущая версия от 18:02, 10 июля 2024

Пример кода смарт-контракта NFT стандарта ERC-721 на основе библиотеки OpenZeppelin.

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, если данный оператор (любой адрес) одобрен владельцем.

См. также