Чтобы перевести предмет между кошельками и проверить в обозревателе блоков, сопоставьте два разных утверждения: запись операции говорит, что произошло однажды, а кошелёк — что верно сейчас. Это не дубли одной информации. Запись неизменна, состояние меняется каждой следующей операцией. Расхождение между ними почти всегда объяснимо, и направление расхождения подсказывает причину.
Что происходит с сегментом сейчас
Обозреватель стал первым инструментом, к которому идут при сомнениях. Это правильный рефлекс, но с одной существенной оговоркой: открывают обозреватель гораздо чаще, чем понимают прочитанное, и выводы делают по узнаваемым строкам. Поля подписаны терминами протокола. Половина значений при переводе предмета выглядит бессмысленно, и человек делает выводы по тем двум-трём строкам, которые узнаёт по форме.
Из обращений читателей видно, какие строки вводят в заблуждение. Первая — сумма операции, которая при переводе предмета равна нулю. Вторая — поле получателя, в котором стоит не адрес друга, а адрес контракта коллекции. Обе строки честны, но отвечают не на тот вопрос, который задаёт человек, и обе выглядят так, будто отвечают именно на него.
Третья причина недоразумений — ожидание симметрии. Люди предполагают, что обозреватель и кошелёк показывают одно и то же с разной вёрсткой. Задача у них разная. Первый отвечает на вопрос «что было записано», второй — «чем я владею в эту минуту», и оба ответа верны одновременно.
Как перевести предмет между кошельками и проверить в обозревателе блоков
Порядок простой, разница с переводом средств — в точке, куда смотреть.
- Отправьте предмет на свой второй адрес и сохраните идентификатор операции до закрытия окна кошелька.
- Откройте запись по идентификатору и начните с результата исполнения. Отказ закрывает вопрос: перемещения не было, предмет на прежнем адресе.
- Перейдите к журналу событий и найдите событие о смене владельца. Адрес получателя предмета стоит именно там, а не в поле получателя операции.
- Опросите контракт о владельце номера или откройте кошелёк в нужной сети. Это второе утверждение — о состоянии, а не об истории.
- При расхождении найдите по адресу более позднюю операцию с тем же номером предмета. Состояние меняется последней записью, а не первой.

Какие поля записи о чём говорят
| Поле | Что утверждает | Чего не утверждает |
|---|---|---|
| Отправитель | Какой адрес подписал операцию и заплатил за неё | Что этот адрес был владельцем предмета |
| Получатель операции | Какой контракт был вызван | Кому достался предмет |
| Сумма | Сколько средств сети приложено к вызову | Ничего о предмете: при переводе здесь ноль |
| Вызванный метод | Перенос это был или выдача разрешения | Что операция отвечала вашему замыслу |
| Событие смены владельца | Адрес получателя предмета и его номер | Что предмет остался там к текущему моменту |
| Номер по порядку | Место операции в очереди вашего адреса | Что операция не была замещена другой |
Поле получателя операции — главная ловушка раздела. При переводе предмета вы обращаетесь к контракту коллекции, и в этом поле стоит его адрес. Адрес друга или второго кошелька лежит в параметрах вызова и в журнале событий. Человек, который сверяет только верхнюю часть страницы, видит незнакомый адрес и делает неверный вывод о том, что предмет ушёл к посторонней стороне.
Поле отправителя подводит реже, но ощутимее. Подписать перенос может не только владелец: стандарт допускает вызов от одобренного адреса или от оператора коллекции. Поэтому совпадение отправителя с вашим адресом не доказывает, что предмет был вашим, а несовпадение не доказывает кражи: разбирать приходится журнал событий, а не верхние строки страницы.
Строка платы читается через поля, введённые стандартом EIP-1559 от 13 апреля 2019 года: максимальная плата за единицу вычислений, максимальная надбавка составителю блока и фактически применённая цена. Базовая часть платы по этому стандарту сжигается, а надбавка достаётся составителю блока. Отсюда и ответ на частый вопрос: списалось меньше заявленного максимума, потому что максимум — это граница, а не цена.
Что делать при расхождении
| Что видно в записи | Что показывает кошелёк | Причина и действие |
|---|---|---|
| Успех, получатель — ваш второй адрес | Предмета нет | Не та сеть или контракт не добавлен; переключите сеть и добавьте адрес коллекции |
| Успех, метод — выдача разрешения | Предмет на прежнем адресе | Расхождения нет: вы смотрите не на перенос; найдите операцию переноса |
| Записи по идентификатору нет | Предмет исчез из списка | Кошелёк показывает устаревший список; обновите данные и опросите контракт |
| Отказ | Предмет на месте | Согласие полное: перемещения не было, плата за вычисления списана |
| Успех, получатель — чужой адрес | Предмета нет | Переход состоялся не в вашу пользу и необратим; разбирайте, как адрес попал в запрос |
Общее правило выводится из таблицы. Запись никогда не бывает неправа: она фиксирует исполненное. Кошелёк бывает не прав по двум причинам — устаревшие данные и неполный список известных ему коллекций, причём вторая причина у новых игровых проектов встречается чаще первой. Поэтому при расхождении сначала проверяют кошелёк, а не ищут ошибку в сети.
Издержки: комиссии, роялти, газ
Чтение обозревателя и опрос контракта бесплатны. Платит только та сторона, которая меняет состояние сети, поэтому проверять запись и опрашивать контракт можно сколько угодно раз без всяких последствий для адреса. Перевод между своими кошельками оплачивается как любая другая операция — сетевой платой с адреса отправителя, независимо от того, что предмет никуда из вашего распоряжения не уходит.
Роялти коллекции при переводе между своими адресами не возникает: оно относится к продаже. Сбор площадки появляется только тогда, когда вы ведёте перевод через её интерфейс. Полный состав издержек при переносе разобран отдельно — там показано, как перевести предмет между кошельками и понять структуру комиссий. Структуру этих сборов мы разбирали подробно — полезно разобраться в комиссиях площадки, чтобы отличать её сбор от платы сети в самой записи.
Риски и мошеннические схемы сегмента
Поля записи выглядят убедительно, и этим пользуются.
Первая схема: ссылка на страницу поддельного обозревателя. Домен похож на настоящий, оформление скопировано до последней строки, а данные на самой странице вымышлены целиком, включая статус исполнения и адрес получателя предмета в журнале. Защита механическая: открывайте запись по идентификатору в обозревателе из своих закладок, а не по присланной ссылке.
Вторая: «подтверждение по сумме». Пострадавшему показывают запись с нулевой суммой и говорят, что перевод не состоялся, поэтому нужно отправить предмет заново. Ноль в поле суммы при переводе предмета — норма, а не признак сбоя, и повторная отправка приводит ко второму переходу, который тоже придётся оплатить. Записи после получения предмета стоит проверять и тем, кто решил участвовать в бесплатной раздаче предметов.
Третья схема опирается на номера по порядку. Человеку объясняют, что операция «застряла», и предлагают ускорить её за плату. Замещение операции делается с того же адреса, тем же порядковым номером и вашей подписью, поэтому посторонней стороне оно недоступно ни за какую плату. Внешне похожие обещания встречаются и вокруг доступа к ограниченным слотам — эту механику мы разбирали в материале про рынок тайм-токенов и прямой доступ к экспертам.
- Как перевести предмет между кошельками и понять структуру комиссий — из чего складывается плата при переносе между своими адресами.
- Как разобраться в комиссиях площадки — как отличить сбор сервиса от сетевой платы в записи операции.
- Как участвовать в бесплатной раздаче предметов — какие записи стоит проверять после получения предмета.
- Рынок тайм-токенов и прямой доступ к экспертам — пример, где запись в сети подтверждает право на слот.
Итог
Обозреватель и кошелёк отвечают на разные вопросы, и привычка требовать от них одинакового ответа создаёт большую часть недоразумений. Запись фиксирует историю, кошелёк показывает состояние. Получателя предмета ищите в журнале событий. В поле получателя операции его нет. Нулевая сумма при переводе предмета — норма. При расхождении ищите более позднюю операцию с тем же номером предмета.
Состав полей записан в первоисточниках. Событие смены владельца с адресами и номером предмета описано в спецификации ERC-721 на eips.ethereum.org, а поля платы и правило сжигания базовой части — в стандарте EIP-1559 о рынке платы за операции.
Частые вопросы
В обозревателе получатель — незнакомый адрес. Меня обманули?
Вероятно, нет. В поле получателя операции стоит адрес вызванного контракта коллекции, и он вам незнаком по определению. Адрес получателя предмета находится ниже, в журнале событий о смене владельца. Сверяйте со своим вторым адресом именно его, посимвольно, а не по первым знакам.
Почему сумма операции равна нулю?
Потому что предмет не переводится как средства. Вы вызываете функцию контракта, а поле суммы показывает только приложенные к вызову средства сети. При обычном переносе предмета их нет, поэтому ноль — ожидаемое значение. Факт перехода подтверждается событием, а не суммой.
Запись успешная, но предмет не виден в кошельке. Куда смотреть?
Сначала в настройки кошелька. Проверьте активную сеть и добавьте адрес контракта коллекции вручную, если он не подхватился. Затем опросите контракт о владельце номера: его ответ и есть состояние. Повторно отправлять операцию до этой проверки не нужно.
Списалось меньше, чем показывал кошелёк. Это ошибка?
Нет. Кошелёк показывает предельную величину платы, а списывается фактическая, которая зависит от загрузки сети в момент включения записи. Разница возвращается сама, отдельных действий не требует. В записи операции видно и предельное значение, и фактически применённое.
Вердикт
Обозреватель — хороший инструмент, который плохо объясняет себя сам. Два поля из шести отвечают не на те вопросы, которые задаёт человек, и этого достаточно для паники на ровном месте и для обращения в поддержку там, где всё в порядке. Из обращений читателей складывается ровная статистика: расхождение почти всегда на стороне отображения, а не записи. Проверка по журналу событий занимает полминуты и закрывает вопрос без переписки с кем-либо.
Разборы записей операций и наблюдения редакции — в нашем Telegram-канале.
Обсуждение
Добавить комментарий