Перейти к основному контенту
Change page

Стандарт невзаимозаменяемых токенов ERC-721

Введение

Что такое невзаимозаменяемый токен?

Невзаимозаменяемый токен (NFT) используется для уникальной идентификации чего-либо или кого-либо. Этот тип токенов идеально подходит для использования на платформах, предлагающих коллекционные предметы, ключи доступа, лотерейные билеты, пронумерованные места на концертах и спортивных матчах и т. д. Этот особый тип токенов обладает потрясающими возможностями, поэтому он заслуживает надлежащего стандарта, и ERC-721 был создан для решения этой задачи!

Что такое ERC-721?

ERC-721 вводит стандарт для NFT, иными словами, этот тип токенов уникален и может иметь иную ценность, чем другой токен из того же смарт-контракта, возможно, из-за его возраста, редкости или даже чего-то еще, например, его внешнего вида. Подождите, внешнего вида?

Да! Все NFT имеют переменную uint256 под названием tokenId, поэтому для любого контракта ERC-721 пара contract address, uint256 tokenId должна быть глобально уникальной. Тем не менее, децентрализованное приложение (dapp) может иметь «конвертер», который использует tokenId в качестве входных данных и выводит изображение чего-то крутого, например, зомби, оружия, навыков или удивительных котиков!

Предварительные требования

Основная часть

ERC-721 (Ethereum Request for Comments 721), предложенный Уильямом Энтрикеном (William Entriken), Дитером Ширли (Dieter Shirley), Джейкобом Эвансом (Jacob Evans) и Настасьей Сакс (Nastassia Sachs) в январе 2018 года, представляет собой стандарт невзаимозаменяемых токенов, который реализует API для токенов внутри смарт-контрактов.

Он предоставляет такие функции, как перевод токенов с одного аккаунта на другой, получение текущего баланса токенов аккаунта, получение владельца определенного токена, а также общего предложения токенов, доступного в сети. Кроме того, он также имеет некоторые другие функции, такие как одобрение того, что определенное количество токенов с аккаунта может быть перемещено сторонним аккаунтом.

Если смарт-контракт реализует следующие методы и события, его можно назвать контрактом невзаимозаменяемых токенов ERC-721, и после развертывания он будет отвечать за отслеживание созданных токенов в Эфириуме.

Из EIP-721 (opens in a new tab):

Методы

События

    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);

Примеры

Давайте посмотрим, насколько важен стандарт для того, чтобы упростить нам проверку любого контракта токенов ERC-721 в Эфириуме. Нам просто нужен двоичный интерфейс приложения (ABI) контракта, чтобы создать интерфейс для любого токена ERC-721. Как вы можете видеть ниже, мы будем использовать упрощенный ABI, чтобы сделать этот пример максимально понятным.

Пример с Web3.py

Сначала убедитесь, что вы установили библиотеку Python Web3.py (opens in a new tab):

pip install web3

Контракт Криптокотиков имеет некоторые интересные события, отличные от стандартных.

Давайте проверим два из них: Pregnant и Birth.

  • Etherscan NFT Tracker (opens in a new tab) — список лучших NFT в Эфириуме по объему переводов.
  • Криптокотики (opens in a new tab) — это игра, в центре которой находятся разводимые, коллекционные и невероятно очаровательные существа, которых мы называем Криптокотиками.
  • Sorare (opens in a new tab) — это глобальная фэнтези-игра о футболе, в которой вы можете собирать коллекционные предметы ограниченного выпуска, управлять своими командами и соревноваться за призы.
  • Служба имен Ethereum (ENS) (opens in a new tab) предлагает безопасный и децентрализованный способ адресации ресурсов как внутри, так и вне блокчейна с использованием простых, удобочитаемых имен.
  • POAP (opens in a new tab) доставляет бесплатные NFT людям, которые посещают мероприятия или выполняют определенные действия. POAP можно создавать и распространять бесплатно.
  • Unstoppable Domains (opens in a new tab) — компания из Сан-Франциско, создающая домены на блокчейнах. Блокчейн-домены заменяют адреса криптовалют на удобочитаемые имена и могут использоваться для создания устойчивых к цензуре веб-сайтов.
  • Gods Unchained Cards (opens in a new tab) — это коллекционная карточная игра (TCG) на блокчейне Эфириума, которая использует NFT для обеспечения реального права собственности на внутриигровые активы.
  • Bored Ape Yacht Club (opens in a new tab) — это коллекция из 10 000 уникальных NFT, которые, помимо того, что являются доказуемо редким произведением искусства, действуют как токен членства в клубе, предоставляя привилегии и преимущества участникам, которые со временем увеличиваются в результате усилий сообщества.

Дополнительная литература

Руководства: Создание с использованием невзаимозаменяемых токенов (ERC-721) в Эфириуме