Доказательством вывода служит не экран игры, а запись в сети. Откройте транзакцию в обозревателе и найдите в её журнале событие передачи: адрес отправителя, ваш адрес и номер предмета. Затем проверьте текущего владельца прямым запросом к контракту коллекции. Совпали оба — предмет ваш. Нет события передачи — значит, из игры ничего не выходило, изменилась лишь внутренняя запись. Разбираем, какие поля смотреть и о чём говорит их отсутствие.

Вывод внутриигрового предмета — это операция, после которой запись о владении начинает храниться в контракте коллекции, а не в базе разработчика игры, и меняется она уже по правилам сети. До вывода предмет существует как строка на сервере. После — как номер токена, привязанный к адресу, и проверить эту привязку может кто угодно, не спрашивая разрешения у игры.

Что происходит в сети в момент вывода

Со стороны сети вывод выглядит одним из двух способов. Первый: контракт передаёт уже существующий токен с адреса-хранилища на ваш адрес. Второй: контракт выпускает новый токен сразу на ваш адрес, а внутриигровая запись при этом гасится.

Различить их легко. В стандарте ERC-721 событие передачи возникает и при создании предмета, и при уничтожении, и спецификация описывает это прямо: при создании поле отправителя равно нулевому адресу, при уничтожении нулю равно поле получателя. Увидели нули в поле отправителя — перед вами выпуск, а не перенос.

Разница не косметическая. При переносе у предмета есть история до вас, и она читается по цепочке событий. При выпуске история начинается с вашей транзакции, а всё, что происходило с предметом в игре, остаётся на серверах разработчика и в сеть не попадает ни в каком виде.

Какие поля смотреть в обозревателе

Обозреватель показывает три слоя: саму транзакцию, журнал её событий и состояние контракта. Путают их постоянно, а выводы из них разные.

Поле Где искать Что подтверждает Что значит его отсутствие
Статус транзакции Шапка страницы транзакции Операция исполнена, а не отклонена сетью Неуспешный статус: комиссия списана, предмет не двигался
Адрес контракта Строка получателя вызова и заголовок журнала событий Предмет принадлежит заявленной коллекции, а не одноимённой подделке Незнакомый адрес: коллекция другая, совпадение названий ничего не значит
Событие передачи Вкладка журнала событий транзакции Владение перешло: видны отправитель, получатель и номер токена События нет — предмет из игры не выходил
Текущий владелец Чтение контракта, функция владельца по номеру токена Состояние на сейчас, а не на момент транзакции Чужой адрес: после вывода предмет успел уйти дальше
Адрес метаданных Чтение контракта, функция ссылки на описание Где лежит картинка и описание предмета Пусто или не отвечает: изображение пропадёт, владение останется
Разрешения оператора Журнал событий одобрения по вашему адресу Кто вправе распоряжаться предметом помимо вас Отзыва нет — значит, выданное ранее разрешение действует

Два поля из таблицы отвечают на разные вопросы, и это главная путаница сегмента. Событие передачи отвечает на вопрос «что произошло тогда». Функция владельца отвечает на вопрос «кому принадлежит сейчас». Проверять нужно оба.

Пошаговая проверка после вывода

  1. Возьмите идентификатор транзакции из интерфейса игры и откройте его в обозревателе нужной сети. Идентификатора нет — вывода тоже нет, какой бы статус ни показывала игра.
  2. Убедитесь, что статус транзакции успешный. Неуспешная транзакция остаётся в сети навсегда и выглядит в списке так же, как успешная.
  3. Откройте журнал событий и найдите передачу с номером вашего предмета. Сверьте адрес получателя со своим посимвольно, а не по первым знакам.
  4. Сверьте адрес контракта с адресом, опубликованным разработчиком на официальном ресурсе. Это единственная защита от одноимённой коллекции.
  5. Прочитайте текущего владельца по номеру токена прямо из контракта. Обозреватели дают такую вкладку без подключения кошелька.
  6. Проверьте выданные разрешения на свой адрес и отзовите те, которыми не пользуетесь.
Передача на адрес смарт-контракта требует отдельной осторожности. Спецификация ERC-721 предупреждает об этом заглавными буквами: вызывающая сторона сама отвечает за то, что получатель способен принять предмет, иначе он может быть потерян навсегда. Безопасный вариант передачи проверяет, что контракт-получатель возвращает нужное значение, и откатывает операцию, если нет. Обычная передача такой проверки не делает.

Отсутствие поля — тоже сведение

Пустое место в обозревателе говорит не меньше, чем заполненное. Три случая встречаются чаще прочих.

Первый: в транзакции нет события передачи предмета. Значит, игра списала предмет у себя, а в сеть ничего не ушло. Такое бывает при очереди на вывод и при ошибке на стороне разработчика. Обращаться тут имеет смысл не к обозревателю, а к самой игре, но исходить при этом стоит из того, что предмета в сети у вас пока нет.

Второй: ссылка на метаданные пуста или не открывается. Картинка и название хранятся вне сети, и расширение метаданных в стандарте помечено как необязательное. Потеря описания неприятна, но владение номером токена от неё не зависит: оно записано в контракте.

Третий: в журнале нет отзыва ранее выданного разрешения. Отсутствие отзыва означает, что разрешение в силе. Площадка или сторонний контракт, которому вы когда-то открыли доступ ко всей коллекции, сохраняет возможность распоряжаться предметом после вывода. Разбор комиссий и механики площадок помогает понять, кому и зачем такие права выдаются: об этом материал о том, как разобраться в комиссиях площадки.

Схема из пяти шагов: открыть транзакцию, проверить статус, найти событие передачи, сверить адрес контракта, прочитать текущего владельца
Схема из пяти шагов: открыть транзакцию, проверить статус, найти событие передачи, сверить адрес контракта, прочитать текущего владельца

Предметы по стандарту ERC-1155 читаются иначе

Игровые активы часто выпускают не по ERC-721, а по ERC-1155, который рассчитан на партии однотипных предметов. Там нет функции владельца по номеру: вместо неё баланс по паре «адрес и номер типа». Событий тоже два — одиночная передача и пакетная, причём в пакетной номера типов и количества приходят массивами, и читать такую запись приходится построчно.

Справочные данные по спецификациям на 15 октября 2026 года. ERC-721 опубликован 24 января 2018 года и имеет статус итогового, а его событие передачи несёт три индексируемых поля — отправитель, получатель и номер токена. ERC-1155 опубликован 17 июня 2018 года, также итоговый, и опирается на EIP-165; его событие одиночной передачи несёт пять полей, включая адрес распорядителя операции и количество. Функция баланса в ERC-1155 возвращает число единиц, а не адрес владельца, и это меняет сам способ проверки.

Практическое следствие здесь такое: для партийного предмета вопрос «мой ли он» превращается в вопрос «сколько единиц этого типа числится за моим адресом на текущий момент». Единица может быть у тысячи адресов одновременно. Уникальности, к которой приучил первый стандарт, здесь нет.

Чего обозреватель не покажет

Границы инструмента стоит знать заранее. Обозреватель читает состояние сети, и за её пределами он бессилен.

Он не скажет, жив ли проект и работает ли игра. Он не подтвердит, что картинка по ссылке метаданных останется на месте через год. Он не оценит, сколько предмет стоит на рынке, и не отличит востребованную коллекцию от заброшенной, потому что ни то ни другое в состоянии сети не записано. Эти вопросы решаются за пределами сети, и для игровых активов они важнее технических: немалая часть проектов сегмента остановлена, а их предметы продолжают существовать в сети как номера без содержания.

Он также не покажет, во что обойдётся следующее движение предмета. Структура сборов при переносе между кошельками разобрана в материале о том, как перевести предмет между кошельками и понять структуру комиссий, и считать её стоит до операции.

  • Идентификатор транзакции получен и открыт в обозревателе.
  • Статус транзакции успешный.
  • В журнале найдено событие передачи с номером предмета.
  • Адрес получателя совпал с вашим посимвольно.
  • Адрес контракта сверен с официальным адресом коллекции.
  • Текущий владелец прочитан из контракта, а не из интерфейса площадки.
  • Лишние разрешения на коллекцию отозваны.

Итог

Проверка вывода держится на двух независимых вопросах: что записано в журнале транзакции и что отвечает контракт сейчас. Первый вопрос подтверждает факт события. Второй — факт владения. Пробелы в полях читаются наравне с содержимым: нет события передачи — нет вывода, нет отзыва разрешения — доступ сохраняется. Из обращений читателей видно, что чаще всего подводит доверие к интерфейсу: игра показывает «выведено», а в сети тишина. Отдельная история — предметы, полученные бесплатно: их происхождение стоит проверять тем же способом, о чём говорится в разборе о том, как участвовать в бесплатной раздаче предметов. В сетях вне семейства Ethereum устройство записи иное, и это показывает материал про Bitcoin Ordinals и цифровые артефакты на базовом слое.

Материалы по теме:

Первоисточники: спецификация ERC-721 с описанием события передачи и спецификация ERC-1155 для партийных предметов. Интерфейсы обозревателей меняются, поля стандарта — нет.

Частые вопросы

Игра пишет «выведено», а в обозревателе пусто. Где предмет?

Пока нигде за пределами игры. Отсутствие транзакции означает, что в сеть ничего не отправлялось, а надпись в интерфейсе отражает состояние внутренней очереди. Запросите у разработчика идентификатор транзакции и, пока его нет, считайте вывод незавершённым. Записи в игровой базе доказательством владения не являются и исчезают вместе с сервером.

В поле отправителя стоит адрес из одних нулей. Это нормально?

Да, так выглядит выпуск нового токена. Стандарт ERC-721 прямо указывает: событие передачи возникает при создании предмета, и тогда поле отправителя равно нулевому адресу. Значит, игра не переносила существующий предмет, а выпустила новый на ваш адрес. Истории владения до этой транзакции у предмета нет.

Картинка не отображается. Я потерял предмет?

Нет. Изображение и описание лежат вне сети, по ссылке из контракта, и расширение метаданных помечено в стандарте как необязательное. Если ссылка не отвечает, пропадает только картинка. Владение определяется записью в контракте и проверяется чтением функции владельца по номеру токена, и эта функция ответит независимо от того, в каком состоянии находится хранилище с метаданными.

Как проверить, что коллекция настоящая?

По адресу контракта, и только по нему. Название, картинка и описание повторяются кем угодно, адрес подделать нельзя. Возьмите адрес с официального ресурса разработчика и сверьте с тем, что стоит в журнале вашей транзакции. Совпадения названий, числа держателей или популярности в поиске доказательством не являются.

Вердикт

Обозреватель — единственный арбитр в споре между вашим ожиданием и реальностью игры. Он отвечает на два вопроса: было ли событие и кому предмет принадлежит сейчас. Приучите себя смотреть оба ответа, а не один, и сверять адрес контракта до того, как радоваться выводу. Пустые поля при этом читаются наравне с заполненными — отсутствие отзыва разрешения стоило читателям предметов чаще, чем прямые кражи. Разборы по игровым активам и коллекциям выходят в телеграм-канале Cryptium.