Все статьи
Гайды

Неизменяемые метаданные: что теряет бренд токена Solana

Неизменяемые метаданные токена Solana фиксируют имя, символ и ссылку, но не файл за ней. Что теряет бренд и что проверить до блокировки.

8 минут чтения J Tools Editorial
Вентиль закрыт до упора: металлический маховик с раскалённым красно-оранжевым ободом в дыму, рядом кожаный планшет с сургучной печатью и тремя тиснёными галочками

Неизменяемые метаданные закрепляют за токеном Solana имя, символ и ссылку на файл с его описанием. После блокировки поменять их уже не сможет никто, включая вас. Для бренда это решение на всю жизнь токена: под этим именем он будет виден в каждом кошельке и в каждом обозревателе блокчейна.

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

Что фиксируют неизменяемые метаданные

Три замка на тёмно-серой стене: открытый латунный с поднятой дужкой, латунный со стальной дужкой и расколотым корпусом, тёмный цельный блок без дужки в красном свете снизу

Бренд классического SPL-токена с метаданными Metaplex живёт в двух слоях. Первый слой лежит в блокчейне: аккаунт метаданных Metaplex, привязанный к mint, хранит имя, символ и URI, то есть ссылку. Второй слой находится вне сети. По этой ссылке лежит файл JSON, а в нём описание, логотип и ссылки на сайт, X, Telegram и Discord.

Логотип в этом файле тоже всего лишь ссылка, поле image. От блокчейна до картинки получается два перехода: сначала URI, потом ссылка на изображение внутри файла. Запомните эту цепочку, на ней держится вся остальная статья.

Блокировка метаданных Metaplex это флаг изменяемости (Is Mutable), переведённый в false. С этого момента программа метаданных отклоняет любое изменение, а сам флаг ходит только в одну сторону: из true в false можно, обратно нельзя. Документация Metaplex о Token Metadata добавляет вторую половину: неизменным становится и сам файл, только если флаг сочетается с постоянным хранилищем.

Одна деталь сбивает с толку. Адрес полномочия обновления может и после блокировки значиться в обозревателе. Блокировка в j.tools оставляет адрес на месте и переключает флаг, так что смотреть нужно на флаг, а не на поле с адресом.

Часть брендаГде хранитсяПосле блокировки
ИмяВ блокчейнеНе меняется никогда
СимволВ блокчейнеНе меняется никогда
URI, ссылка на файлВ блокчейнеНе меняется никогда
Описание и ссылкиВ файле JSONМеняются, только если может измениться файл
ЛоготипСсылка на изображение внутри файлаТо же самое, и хостинг самой картинки тоже в счёт

Файл за ссылкой решает, что заблокировано на самом деле

Флаг замораживает указатель, а не файл. Блокчейн хранит строку URI и ничего не знает о том, что по ней лежит. Поэтому один и тот же замок значит очень разное в зависимости от того, где размещён файл.

  • Обычный веб-сервер или домен, который нужно продлевать. Владелец сервера может заменить файл, а с ним и логотип, даже после блокировки. Может и не продлить домен. Тогда имя и символ останутся в блокчейне, а логотип, описание и ссылки пропадут, и направить токен на новую копию будет уже нельзя.
  • IPFS. Ссылка называет содержимое по его криптографическому хешу, CID. Любое другое содержимое даёт другой CID, поэтому по той же ссылке другой логотип не покажешь. Но файл доступен, только пока его закрепляет (pin) хотя бы один узел сети.
  • Arweave. Позиционируется как постоянное хранилище, и именно его Metaplex называет в паре с флагом.

Второй переход проверяют реже первого, и зря. Файл JSON может лежать в IPFS, а его поле image ссылаться на обычный сервер. Тогда описание и ссылки действительно не поменять, а картинку можно подменить или потерять вместе с сервером.

Держатели замечают это первыми: вместо логотипа в кошельке пустое место. Что видит человек в таком случае и как отличить сломанную картинку от других причин, разобрано в статье почему токен не отображается в Phantom.

Если вы покупатель: флаг изменяемости со значением false в обозревателе ещё не доказывает, что логотип закреплён. Откройте URI и ссылку на изображение и посмотрите, куда они ведут: на CID в IPFS, на Arweave или на чей-то сервер.

Что бренд теряет навсегда

Блокировка отнимает любую правку. Опечатку в имени или символе уже не исправить. Ребрендинг невозможен. Сменит проект домен или аккаунт в соцсети, и новые адреса в токен не попадут. Умрёт хостинг, и перенаправить токен на уцелевшую копию будет нечем. А если файл лежит в IPFS или Arweave, вместе с ним застывает и каждая ссылка внутри, даже устаревшая ссылка на сайт. Новую идентичность даёт только новый токен с новым адресом mint.

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

Где проходит граница, видно на двух типичных случаях.

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

Проект с запланированным ребрендингом. Команда знает, что сменит логотип или имя. Метаданные остаются открытыми, а закрывается то, что уже закончено, например выпуск, если предложение окончательное.

Решить помогает один вопрос: понадобится ли мне менять это в ближайшие 12 месяцев? Если ответ «да» или хотя бы «может быть», с блокировкой метаданных лучше подождать.

Перед блокировкой: проверка бренда

  1. Имя и символ. Сверьте каждую букву. Опечатка останется навсегда.
  2. Логотип. Убедитесь, что он отображается в Phantom и в обозревателе блокчейна.
  3. URI. Откройте ссылку в обычной вкладке браузера. Файл JSON должен загрузиться, а не ответить 404, и ссылка на изображение внутри него тоже должна открываться.
  4. Ссылки в файле. Сайт, X, Telegram и Discord должны вести на домены и аккаунты, которые вы точно сохраните.
  5. Хранилище. Оба перехода, файл и картинка, должны лежать в хранилище с адресацией по содержимому или в постоянном. Настраивается это, пока метаданные ещё изменяемые.
  6. Блокировка. Только теперь.

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

Только метаданные или полная блокировка

Латунная печать с деревянной ручкой вдавлена в жидкий красно-оранжевый сургуч на кремовом конверте, вокруг брызги воска, конверт лежит на тёмном деревянном столе

Замков у токена три, и j.tools закрывает их разными инструментами.

  • Инструмент отзыва полномочия обновления блокирует только метаданные, то есть переводит флаг в false. Подписывает кошелёк, у которого это полномочие. После подтверждения инструмент перечитывает аккаунт и проверяет, что флаг действительно сменился.
  • Инструмент, делающий токен неизменяемым, сначала читает токен, а потом кладёт в одну транзакцию только те блокировки, которые подключённый кошелёк ещё держит: полномочие выпуска в none, полномочие заморозки в none, флаг метаданных в false. Блокировку, которой у кошелька нет, потому что она уже отозвана или принадлежит другому кошельку, он пропускает. Подпись одна, и ни один замок не остаётся закрытым наполовину. Комиссия платформы показана на странице инструмента до подписи и оплачивается в той же транзакции.
  • Отзыв полномочия выпуска и отзыв полномочия заморозки к бренду отношения не имеют. Это отдельные замки со своими последствиями.

Без полномочия выпуска предложение фиксируется навсегда. Без полномочия заморозки никто больше не заморозит и не разморозит ни один счёт, а счета, замороженные в этот момент, останутся такими навсегда. Если что-то заморожено по ошибке, сначала разморозьте токен-счета, потом отзывайте.

Метаданные можно закрыть и в момент рождения токена: конструктор токенов Solana умеет выпустить токен с уже заблокированными метаданными, если вы это выберете, и в том же процессе отозвать выпуск и заморозку. Пошагово каждое полномочие разобрано в руководстве, как отозвать полномочия токена Solana.

Отмены нет. Каждая блокировка окончательна с того момента, как транзакция подтверждена. У программ токенов нет инструкции, которая вернула бы отозванное полномочие выпуска или заморозки, а программа метаданных отклоняет любое изменение после флага false. Инструменты j.tools работают только в mainnet. Отрепетировать можно в devnet через Solana CLI, например командой spl-token authorize <mint> mint --disable, с тестовыми SOL из крана тестовых SOL в devnet.

Если токен выпущен на Token-2022

У токена Token-2022 метаданные могут жить прямо на mint: расширение TokenMetadata хранит имя, символ, URI и собственное полномочие обновления метаданных. Закрываются такие метаданные, когда это полномочие очищают. Отдельное расширение, указатель метаданных (metadata pointer), имеет своё полномочие и может перенаправить, где метаданные лежат. Полная блокировка бренда у такого токена значит, что не осталось ни того, ни другого полномочия. Подробности в документации Solana о метаданных Token-2022.

Инструменты блокировки j.tools работают с аккаунтом метаданных Metaplex классического SPL-токена. Владельцу токена на Token-2022 сначала стоит проверить оба полномочия метаданных и полномочия других расширений. Монеты, которые сейчас запускают на Pump.fun, выходят как mint на Token-2022 с уже пустыми полномочиями выпуска и заморозки. Чем стандарты отличаются в остальном, разобрано в статье Token-2022 или SPL: что выбрать.

Как проверить блокировку

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

Затем откройте URI в обычной вкладке и ссылку на изображение внутри файла. Оба должны загружаться. Ровно эту проверку делают покупатели, она входит в список из статьи как проверить токен Solana на скам.

Неизменяемые метаданные: частые вопросы

Обозреватель всё ещё показывает полномочие обновления. Метаданные закрыты?

Да, если флаг изменяемости стоит в false. У метаданных Metaplex решает флаг, а адрес полномочия может оставаться в списке.

Может ли токен с закрытыми метаданными сменить логотип?

Может, если файл или ссылка на изображение лежат на сервере, которым кто-то управляет: там содержимое можно заменить. Ссылка IPFS по CID другое содержимое не покажет, а Arweave позиционируется как постоянное хранилище. Если хостинг умер, логотипа нет, и перенаправить токен на новый файл не может никто.

Можно ли потом открыть метаданные для ребрендинга?

Нет. Флаг переходит только из true в false. Новое имя или новый логотип означают новый токен с новым адресом mint.

Фиксирует ли блокировка метаданных заодно и предложение?

Нет. Полномочия выпуска и заморозки отдельные, и каждое закрывается само по себе. Инструмент, делающий токен неизменяемым, закроет в одной транзакции все, которые держит ваш кошелёк. Даже после всех блокировок держатели могут сжигать токены со своих счетов, так что предложение ещё может уменьшаться. Как это устроено, объясняет статья как сжечь токены на Solana, а сам шаг выполняет сжигание токенов Solana.

Делают ли неизменяемые метаданные токен безопасным для покупки?

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

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

J
Автор
J Tools Editorial

Материал команды J Tools.

Все материалы автора J Tools Editorial →

Похожие статьи