Вывести внутриигровые токены и активы за пределы проекта — это две разные операции в одном окне. Токен делим и взаимозаменяем: его выводят частью, остаток остаётся внутри. Предмет неделим и уходит целиком. Внутренний баланс при этом списывается в базе проекта, а наружу приходит запись в сети, и признаком успеха служит вторая, а не первая. Игровое состояние — уровни, привязки, прогресс — наружу не выходит никогда.
Что происходит с сегментом сейчас
Снаружи игровая экономика раскладывается на три стандарта. Различия существенны. ERC-20 в статусе Final создан 19 ноября 2015 года и не содержит понятия отличимых единиц или идентификаторов: это взаимозаменяемые количества с объявленным числом десятичных знаков. ERC-721 в статусе Final создан 24 января 2018 года: идентификатор равен предмету. ERC-1155 в статусе Final создан 17 июня 2018 года и позволяет одному контракту держать под разными идентификаторами и делимые балансы, и неделимые предметы.
Отдельное наблюдение из обращений читателей: шлюз вывода выключают раньше серверов. Проект может работать, сайт открываться, а кнопка вывода уже не отвечать — потому что внешний шлюз относится к инфраструктуре, которую сворачивают первой. Проверять доступность вывода нужно на дату, а не по описанию в документации, выпущенной год назад. Документация отстаёт.
Токен и предмет: четыре различия, которые решают всё
Разница не в оформлении. Она в правах. И в обратимости.
| Признак | Игровая валюта по ERC-20 | Предмет по ERC-721 | Смешанный контракт ERC-1155 |
|---|---|---|---|
| Делимость при выводе | Выводится любая часть баланса в пределах лимита шлюза | Выводится целиком: половины предмета не существует | Зависит от идентификатора: часть делимая, часть неделимая |
| Отличимость единиц | Единицы неотличимы, стандарт не знает идентификаторов | Каждый предмет имеет собственный идентификатор и владельца | Идентификатор есть у типа, количество — у владельца внутри типа |
| Как читается баланс | Функция по адресу владельца возвращает количество | Функция по идентификатору возвращает адрес владельца | Функция принимает и адрес, и идентификатор одновременно |
| Обратимость заноса назад | Обычно двусторонний шлюз: количество можно вернуть в игру | Часто односторонний: предмет возвращается без игрового состояния | Определяется правилами проекта отдельно для каждого типа |
| Что уносит из игры | Ничего, кроме количества: валюта не имеет свойств | Идентификатор и метаданные, но не уровень и не привязки | Количество и тип, набор свойств задаёт сам контракт |
Из таблицы следует неочевидное. Токен терять нечего — он безличен. Предмет теряет часть себя, и потеря эта невидима до момента, когда вы попробуете занести его обратно.
Как вывести внутриигровые токены и активы за пределы проекта: что происходит с балансом
Внутри проекта работает двойная бухгалтерия. Первый слой — записи в базе: ваш игровой кошелёк, счётчики, инвентарь. Второй слой — адреса в сети: хранилище проекта и ваш внешний адрес. Вывод состоит из трёх событий, которые происходят не одновременно: списание во внутреннем слое, обращение к контракту, зачисление на ваш адрес. События разнесены во времени.
Разрыв между событиями и порождает основную путаницу. Строка в игре исчезла — значит, вывод прошёл? Нет. Исчезновение строки означает лишь, что заявка принята внутренним слоем, и до появления записи в сети токены не ваши, а в обработке. В редакционной практике это самый частый повод для обращений: баланс в игре обнулился, кошелёк пуст, человек считает средства потерянными, а заявка висит в шлюзе.
Полезная деталь: стандарт ERC-20 требует, чтобы перенос нулевого количества обрабатывался как обычный и порождал событие переноса. Это значит, что в истории адреса может оказаться запись с нулём — она не ошибка и не признак взлома. Пугаться нечего.
Пошаговый сценарий вывода
Порядок закрывает оба типа активов. Шесть шагов.

- Убедитесь, что шлюз вывода работает на сегодняшнюю дату, и выясните, в какую сеть он отправляет токены и в какую — предметы. Сети могут не совпадать.
- Разделите заявку: токены отдельно, предметы отдельно. У них разные лимиты, разные окна обработки и разная обратимость.
- Сверьте адрес получателя по средним знакам и проверьте, что выбранная сеть совпадает с той, в которой вы собираетесь распоряжаться активами.
- Выведите пробную сумму токена — минимальную, какую пропускает шлюз. Дождитесь записи в сети, а не исчезновения строки в игре.
- Выведите остальное, записывая идентификаторы операций: по ним восстанавливается история, если внутренний интерфейс перестанет отвечать.
- Сверьте два слоя: внутренний баланс уменьшился и на адресе появилась запись. Расхождение означает заявку в обработке, а не потерю.
Что остаётся недоступным снаружи
Наружу выходит меньше, чем кажется. Снаружи остаётся то, что хранится в базе проекта, а не в контракте, и это правило объясняет почти все разочарования после вывода: наружу уходит оболочка владения, а содержимое игрового состояния остаётся на сервере проекта. Выясняйте заранее.
- Уровень, прокачка и накопленный прогресс: эти величины живут во внутреннем слое и в контракт не записываются.
- Привязка предмета к персонажу или аккаунту: за пределами игры предмет становится записью владения без роли.
- Сезонные эффекты и временные свойства, срок которых считает сервер проекта.
- Вторая, «мягкая» валюта: во многих экономиках она не выводится вовсе и существует исключительно внутри.
- Непередаваемые предметы: контракт может запрещать перенос, и тогда вывод невозможен технически.
- Метаданные с сервера проекта: после сворачивания инфраструктуры внешний кошелёк покажет идентификатор без картинки и атрибутов.
Издержки: комиссии, роялти, газ
Тарифы шлюзов и площадок здесь не приводятся: они меняются чаще, чем живёт статья, и проверяются на дату в самом проекте. Структура издержек устойчивее цифр.
Плату за вычисления в сети несёт тот, кто подписывает операцию, и зависит она от сети и загрузки. Удержание шлюза задаёт проект, и оно бывает разным для токенов и предметов. Количество вызовов зависит от стандарта: стандарт ERC-1155 предусматривает пакетный перенос нескольких идентификаторов одной операцией и прямо указывает на экономию издержек при таком подходе, тогда как вывод токенов частями множит плату на число заявок. Детальнее структура удержаний разобрана в материале о том, как перевести предмет между кошельками и понять структуру комиссий, а тарифная логика посредников — в разборе о том, как разобраться в комиссиях площадки.
Риски и мошеннические схемы сегмента
Схемы вокруг вывода однотипны. Чаще прочих встречается поддельный шлюз: страница повторяет оформление проекта и предлагает подписать разрешение на распоряжение всем балансом вместо переноса конкретной суммы, и отличить одну подпись от другой на малом экране труднее, чем кажется. Подпись выглядит рутинной, последствия — нет.
Вторая схема — обещание ускорить вывод за отдельную плату. Третья — указание сети, в которой токен не обращается: активы приходят, распорядиться ими нельзя. Четвёртая возникает на объявлениях о сворачивании проекта, когда в чатах появляются «помощники по срочному выводу». Общее у всех одно: они торопят. Их узнают по спешке. Шлюз, работающий штатно, спешки не требует.
Отдельная категория — предметы, полученные бесплатно. Логика их получения разобрана в материале о том, как участвовать в бесплатной раздаче предметов, и перед выводом такие записи стоит пересчитать: часть из них попадает на адрес без вашего участия. А различие между игровой валютой и токеном, выпущенным вокруг сообщества, хорошо видно на примере из разбора про фан-токены клубов и модель участия болельщиков: права, которые даёт токен, определяются не стандартом, а правилами эмитента.
Итог
- Работа шлюза проверена на текущую дату, а не по старой документации.
- Известно, в какие сети уходят токены и в какие предметы, и они не перепутаны.
- Заявка разделена: токены отдельно, предметы отдельно.
- Пробный вывод минимальной суммы прошёл и подтверждён записью в сети.
- Идентификаторы операций сохранены вне интерфейса проекта.
- Два слоя сверены: внутренний баланс уменьшился, адресный увеличился.
- Решено заранее, что важнее — владение записью снаружи или игровое состояние внутри.
- Как перевести предмет между кошельками и понять структуру комиссий — из чего складывается плата при переносе предмета.
- Как разобраться в комиссиях площадки — какие удержания появляются, когда в операции участвует посредник.
- Как участвовать в бесплатной раздаче предметов — откуда на адресе берутся записи, которых вы не заводили.
- Фан-токены клубов и модель участия болельщиков — почему права держателя задаёт эмитент, а не стандарт.
Частые вопросы
Почему баланс в игре уменьшился, а на кошельке ничего нет?
Между списанием во внутреннем слое и зачислением на адрес проходит обработка заявки шлюзом, и длительность задаёт проект. До появления записи в сети активы находятся в пути. Сохраните идентификатор заявки и проверьте адрес по обозревателю: если записи нет, обращайтесь в поддержку с номером заявки, а не с описанием.
Можно ли вывести часть предмета, как часть валюты?
Нет. Предмет по ERC-721 неделим: идентификатор принадлежит одному адресу целиком. Делимость возможна у типов внутри ERC-1155, где у владельца есть количество внутри идентификатора, — но это решение контракта, а не ваше. Игровая валюта по ERC-20 делится свободно в пределах объявленного числа десятичных знаков.
Вернётся ли прокачка, если занести предмет обратно в игру?
Зависит от того, где она хранилась. Если уровень и свойства лежали в базе проекта, при возврате они восстанавливаются или не восстанавливаются по правилам проекта — контракт о них не знает. Если свойства записаны в самом контракте, они переносятся вместе с идентификатором. Выясняйте это до вывода, а не после.
Что делать, если проект объявил о закрытии?
Выводите в первую очередь то, что имеет хождение вне проекта, и не дожидайтесь последнего дня: шлюз отключают раньше серверов. Предметы, ценность которых держалась на игровом состоянии, снаружи этой ценности не сохранят. И не пользуйтесь услугами «ускоренного вывода» из чатов — на таких объявлениях схемы оживают.
Вердикт
Главная ошибка при выводе — считать токены и предметы одной сущностью с одной кнопкой. Валюта безлична и обратима, предмет уникален и чаще всего обратно заходит уже без игровой половины себя, а внутренний баланс вообще не является активом в сети: это запись о праве, которая исчезает вместе с проектом. Отсюда порядок, который редакция считает разумным: сначала пробная сумма и запись в сети, затем остальное, и только после этого выводы о том, что именно вы сохранили. Исчезновение строки в игре успехом не является. Это разные вещи.
Разборы по игровым экономикам, предметам и площадкам выходят в Telegram-канале Cryptium — там же отмечаем изменения в стандартах и документации сетей.
Обсуждение
Добавить комментарий