Расширения Solana Token-2022: комиссии, хуки и состояние аккаунта
Как расширения Token-2022 на mint и токен-аккаунтах меняют комиссии, дополнительные аккаунты, заморозку, memo и поддержку кошельков.
В этом руководствеToken-2022 добавляет состояние mint и аккаунтам
Краткое резюме
Token-2022 использует mint и токен-аккаунты, но дополнительные расширения могут менять перевод. Перед отправкой проверьте адрес mint, владеющую программу, активные расширения, полномочия и состояние аккаунта получателя: одного тикера недостаточно.
Token-2022 добавляет состояние mint и аккаунтам
Token Extensions Program, обычно называемая Token-2022, добавляет необязательное поведение через данные и инструкции расширений. Одни расширения хранятся в mint и влияют на переводы этого токена, другие — в отдельных токен-аккаунтах. Все Token-2022 не одинаковы: некоторые расширения несовместимы, а большинство нельзя добавить после инициализации аккаунта. Проверьте фактический список. Solana
Адрес mint идентифицирует актив, тикер — лишь подпись
Имя и символ удобны для просмотра кошелька, но не являются уникальными идентификаторами. У каждого токена свой адрес mint, важна и программа-владелец. Исходная Token Program и Token-2022 — разные программы, поэтому одинаковый тикер не делает аккаунты взаимозаменяемыми. Сверьте полный адрес с надёжным источником и проверьте программу, расширения и полномочия. Solana · Solana
Комиссия уменьшает доступную сумму получателя
Расширение mint TransferFeeConfig задаёт ставку и максимальную комиссию. При переводе 10,00 токенов со ставкой 1,5% и пределом 0,20 комиссия равна 0,15: доступный баланс получателя увеличится на 9,85, а 0,15 будет удержано на целевом аккаунте. Считайте по сумме до комиссии, точности и текущей конфигурации. Solana
Transfer hook добавляет программу и дополнительные аккаунты
Mint с transfer hook хранит адрес программы и вызывает её через CPI при каждом переводе. Hook может потребовать дополнительные аккаунты из ExtraAccountMetaList, например для списка разрешений или лимита. Если аккаунтов не хватает или программа отклоняет операцию, завершается ошибкой вся транзакция; частичной отправки в обход hook нет. Разрешите актуальный список и симулируйте транзакцию до подписи. Solana · Solana
Новый аккаунт может быть заморожен
Расширение DefaultAccountState задаёт исходное состояние новых токен-аккаунтов и может создавать их замороженными. До разморозки freeze authority mint такой аккаунт нельзя использовать для обычных операций с токенами. Изменение состояния по умолчанию действует на будущие аккаунты, но не размораживает уже созданные. Проверьте состояние получателя и нужные полномочия. Solana · Solana
Требование memo задано на аккаунте получателя
MemoTransfer включается на токен-аккаунте получателя, а не на mint. Если оно включено, инструкция memo должна идти непосредственно перед входящим переводом в той же транзакции. Для исходящего перевода с этого аккаунта memo не требуется только из-за этого расширения. Без memo или при неверном порядке программа отклонит перевод. Следуйте инструкциям получателя и проверьте адрес. Solana
Поддержка кошелька зависит от расширений
Кошелёк может принять токен с hook, не выполняя hook, но для отправки ему нужно разрешить программу и актуальные дополнительные аккаунты. Также он должен показывать сумму после комиссии и учитывать замороженные аккаунты и memo. Эмитент может изменить hook или список аккаунтов; перечитывайте конфигурацию при каждой новой отправке. Solana · Solana
Проверьте перевод целиком до подписи
Начните с полного адреса mint и программы-владельца. Изучите расширения и полномочия mint, затем состояние целевого аккаунта. Рассчитайте сумму после комиссии, добавьте аккаунты hook или memo, если нужно, и симулируйте всю транзакцию. Найденный адрес не гарантирует успешный перевод. Это описание механики транзакции, а не инвестиционного результата.
[PDA и токен-аккаунты Solana](/ru/learn/solana-program-derived-addresses-seeds-bump-off-curve-explained) · [Комиссии транзакций Solana](/ru/learn/solana-transaction-fees-base-priority-compute-units-explained)
Частые вопросы
Q1Все ли токены Token-2022 взимают комиссию за перевод?
Нет. Комиссия — необязательное расширение mint; проверьте его конфигурацию.
Q2Может ли кошелёк принять токен с hook, но не отправить его?
Да. Получение не запускает hook, а для отправки нужно разрешить его аккаунты.
Q3Одинаковый тикер означает один и тот же токен?
Нет. Сверьте полный адрес mint и программу-владельца; имя и символ не уникальны.
Источники и дополнительное чтение
Сообщить о проблеме
Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки
Быстрая проверка
Прочитали руководство? Проверьте себя в 3 вопросах
Вопрос 01
Где учитывается удержанная комиссия Token-2022?
Выберите ответ, чтобы увидеть объяснение
Словарь опционов
Процесс, при котором после уведомления об исполнении обязанность выполнить контракт распределяется на продавца опциона и может создать поставку или покупку акций.
Читать подробное руководствобид-аск спредРазница между лучшими бидом и аском контракта. Она отражает неявную стоимость входа и выхода из позиции и может увеличиваться при снижении ликвидности.
Читать подробное руководство0DTEAn option that expires on the current trading day; little time remains for the thesis to work, while gamma and execution risk can change quickly.
Читать подробное руководство