Визначення

Mint — це спеціалізований акаунт у мережі Solana, який визначає окремий тип токена. Він зберігає основні параметри: загальну пропозицію, кількість знаків після коми, адресу уповноваженого з емісії (mint authority) та адресу уповноваженого з заморожування (freeze authority). Саме Mint-акаунт є «паспортом» токена — без нього жоден токен цього типу не може існувати в мережі.

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

Як працює

Коли розробник створює новий токен стандарту SPL Token, першим кроком є ініціалізація Mint-акаунта. У цьому процесі фіксуються такі параметри:

  • Decimals — кількість знаків після коми (наприклад, 9 для SOL, 6 для USDC-подібних стабілкоінів).
  • Mint authority — публічний ключ, який має право викликати інструкцію mint і збільшувати пропозицію токена. Якщо цю адресу не вказати або скинути (set authority з null), емісія стає неможливою — токен отримує фіксовану пропозицію.
  • Freeze authority — публічний ключ, який може заблокувати переказ токенів на будь-якому токен-акаунті. Якщо не вказано — токен неможливо заморозити.
  • Supply — поточна загальна пропозиція, яка оновлюється автоматично при кожній емісії або спалюванні.

Процес емісії (дієслово to mint) виглядає так: уповноважений акаунт надсилає транзакцію до програми SPL Token з інструкцією mint_to, вказуючи цільовий токен-акаунт і кількість. Програма перевіряє права, збільшує supply у Mint-акаунті та зараховує токени на цільовий токен-акаунт.

Mint-акаунт є незмінним у частині decimals — цей параметр фіксується одноразово при створенні й не може бути змінений пізніше. Authority можна скинути, але не можна призначити нову без попереднього володіння правами.

Приклад

Уявіть, що ви створюєте токен з назвою MYTOKEN із 9 знаками після коми та фіксованою пропозицією 1 000 000 000 одиниць. Ви ініціалізуєте Mint-акаунт, встановлюєте decimals = 9, вказуєте себе як mint authority й емітуєте 1 000 000 000 токенів на свій токен-акаунт. Після цього ви викликаєте set_authority і передаєте mint authority як null. Тепер ніхто, включно з вами, не може створити жодного додаткового MYTOKEN — пропозиція назавжди фіксована. Сам Mint-акаунт при цьому продовжує існувати й слугувати довідником для всіх токен-акаунтів, які тримають MYTOKEN.

Типова помилка

Найпоширеніша плутанина — змішувати Mint (іменник, акаунт-визначення токена) з mint (дієслово, процес емісії). Це різні речі: Mint-акаунт не «тримає» токени й не є гаманцем. Інша часта помилка — думати, що видалення або закриття Mint-акаунта знищить усі токени цього типу. Насправді токени залишаються на токен-акаунтах користувачів, але програма SPL Token більше не зможе підтвердити їхню легітимність, що фактично робить їх непридатними до використання.

Пов'язані матеріали

  • SPL Token — програма, яка керує Mint-акаунтами та токен-акаунтами в Solana.
  • Associated Token Account (ATA) — автоматично визначуваний токен-акаунт для конкретного користувача й конкретного Mint.