SPL Token: Стандарт для активов в Solana

16 окт. 2025 г.
SPL Token: Стандарт для активов в Solana

Ключевые выводы

• SPL Token является аналогом ERC-20 для сети Solana.

• Token-2022 предлагает расширенные функции для создания токенов с учетом требований соответствия.

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

• Важно соблюдать лучшие практики безопасности при выпуске и управлении токенами.

Стандарт SPL Token в Solana является основой для взаимозаменяемых активов в сети — таких как стейблкоины, бонусные баллы, токены управления и даже программные денежные потоки. Если вы знакомы с ERC-20 Ethereum, SPL выполняет аналогичную роль, но оптимизирован для высокопроизводительной архитектуры Solana с низкой задержкой. К 2025 году стандарт вышел за рамки простых балансов: расширения, такие как хуки передачи (transfer hooks) и конфиденциальные переводы (confidential transfers), переопределяют возможности токенизированных активов на быстрой и экономически эффективной цепочке.

В этом руководстве объясняется, как работают SPL токены, что нового в Token-2022, как выпускать и обеспечивать безопасность активов, а также на что разработчикам и пользователям следует обратить внимание по мере масштабирования Solana.

Что такое SPL Token?

SPL токены управляются ончейн-программами, которые определяют, как токены минтятся (создаются), передаются и хранятся. Каноническая программа Token Program реализует основное поведение для взаимозаменяемых активов в Solana. В центре внимания три концепции:

  • Минт (Mint): Определение токена (предложение, десятичные знаки, полномочия).
  • Токен-аккаунт (Token account): Аккаунт, который хранит баланс конкретного минта для конкретного владельца.
  • Полномочия (Authorities): Специальные привилегии, такие как минтинг нового предложения или заморозка аккаунтов.

Хорошей отправной точкой является официальная документация SPL Token Program, которая подробно охватывает конфигурацию минта, десятичные знаки и управление полномочиями. См. ссылку на Solana Program Library в разделе Token program для получения подробной информации и руководства по CLI (spl-token).

Под капотом, модель аккаунтов Solana организует данные и владение таким образом, чтобы операции с токенами были дешевыми и параллелизуемыми. Если вы новичок в структуре данных Solana и механизмах аренды (rent mechanics), просмотрите основную модель в документации Solana по аккаунтам, чтобы понять, как балансы токенов хранятся в аккаунтах и почему "не облагаемые арендой" (rent-exempt) лампорты имеют значение.

Большинство кошельков и dApps используют программу Associated Token Account (ATA) Program для получения канонического токен-аккаунта для каждого кошелька и каждого минта. ATA упрощают пользовательский опыт, уменьшают путаницу с адресами и делают переводы предсказуемыми. Узнайте больше в документации Associated Token Account program.

Token-2022 и расширения: готовые к использованию программируемые активы

Хотя классическая программа Token Program по-прежнему широко используется, Solana представила программу нового поколения "Token-2022" с опциональными расширениями, которые добавляют мощные функции без создания специализированной логики токенов. Многие команды теперь выбирают Token-2022 для выпуска активов, учитывающих требования соответствия (compliance-aware) или обладающих богатой функциональностью. Изучите обзор в документации Token-2022 и полный каталог в Token-2022 extensions.

Заметные расширения включают:

  • Хук передачи (Transfer hook): Направление переводов через пользовательскую программу для проверок, таких как списки разрешенных (allowlists), лимиты скорости или распределение комиссий ончейн. См. transfer hook в Token-2022 extensions.
  • Конфиденциальный перевод (Confidential transfer): Скрытие балансов и сумм с использованием техник нулевого разглашения (zero-knowledge), сохраняя при этом возможность аудита при необходимости. См. confidential transfers в Token-2022 extensions.
  • Состояние аккаунта по умолчанию и постоянный делегат (Default account state and permanent delegate): Принудительное замораживание новых аккаунтов или разрешение назначенному делегату перемещать средства в сценариях восстановления/соответствия. См. default account state and permanent delegate в extensions.
  • Указатель на метаданные и полномочие закрытия минта (Metadata pointer and mint close authority): Стандартизированные ончейн-ссылки на метаданные и более безопасный контроль жизненного цикла минта. См. metadata pointer в Token-2022 extensions.

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

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

Комиссии, пропускная способность и их влияние на пользовательский опыт токенов

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

  • Приоритетные комиссии (Prioritization fees): Позволяют пользователям добровольно платить больше за более быстрое включение транзакций, когда место в блоке ограничено. Прочитайте о приоритетных комиссиях в Solana implemented proposals.
  • Локальные рынки комиссий (Local fee markets): Уменьшают перегрузку, изолируя "горячие точки" на уровне аккаунтов, что помогает сохранять плавность обычных токенов, даже когда популярная программа находится под нагрузкой. См. local fee markets в Solana implemented proposals.

По мере развития производительности сети — включая независимую работу клиентов, такую как Firedancer от Jump Crypto — операции с токенами должны оставаться быстрыми и надежными, даже при росте использования. Узнайте больше об инициативе Firedancer.

Распространенные варианты использования SPL Token

  • Платежи и коммерция: Низкая задержка при передаче и предсказуемые расходы позволяют осуществлять оплату в реальном времени, подписки и денежные переводы. Шаблоны Solana Pay и QR-кодированные потоки широко используются разработчиками; изучите открытый SDK на Solana Pay GitHub для моделирования запросов на оплату и квитанций.

  • Ликвидность DeFi: AMM, протоколы кредитования и перпетуальные контракты (perps) используют балансы SPL для расчетов. Стандартизация токен-аккаунтов и одобрений (делегатов) упрощает компоновку.

  • Активы, учитывающие требования соответствия (Compliance-aware assets): Хуки передачи, замороженные по умолчанию аккаунты и постоянные делегаты делают Token-2022 привлекательным для учреждений или выпуска RWA (Real-World Assets) с программируемыми политиками.

  • NFT и токенизированные медиа: Metaplex использует стандарт Token в сочетании с ончейн-метаданными для представления коллекционных предметов и цифровых товаров; см. документацию Metaplex Token Metadata.

  • Метаданные Metaplex: Metaplex Token Metadata

Выпуск собственного SPL Token: практический чек-лист

  1. Выберите программу

    • Классическая программа Token Program: Простая, широко поддерживаемая, идеально подходит для обычных взаимозаменяемых токенов.
    • Token-2022: Выбирайте, если вам нужны расширения, такие как хуки передачи, конфиденциальные переводы, указатели на метаданные или управление состоянием аккаунта.

    Прочитайте обзор: Token-2022 overview

  2. Определите параметры

    • Десятичные знаки (обычно: 6 или 9)
    • Полномочия минта и заморозки
    • Модель предложения (фиксированный верхний предел или минтинг по мере необходимости)
  3. Инициализируйте с помощью CLI

    • Установите Solana CLI и утилиту spl-token.
    • Создайте минт, создайте ATA для вашего казначейства, выполните минтинг начального предложения.
    • При желании назначьте мультисиг в качестве полномочий минта и отзовите их по завершении, чтобы обеспечить жесткий верхний предел.

    Справочник: SPL Token Program и CLI

  4. Добавьте метаданные

    • Для классических токенов используйте программу Metaplex Token Metadata, чтобы прикрепить имя, символ и URI значка.
    • Для Token-2022 вы также можете использовать расширение указателя на метаданные (metadata pointer extension), чтобы указать на вашу схему метаданных.
  5. Распространяйте и листингуйте безопасно

    • Публикуйте адрес минта крупно — не полагайтесь на символы.
    • Предоставьте значок токена и проверенные метаданные.
    • Для кросс-чейн потоков используйте аудированные мосты (bridges) и четкую маршрутизацию. См. Wormhole docs для широко используемого фреймворка мостов.

Лучшие практики по безопасности и соответствию

  • Используйте мультисиг для чувствительных полномочий: Token Program поддерживает нативный мультисиг-аккаунт для полномочий минта/заморозки; настройте его перед распространением, чтобы снизить риск единой точки отказа. См. multisig в SPL Token docs.
  • Рассмотрите возможность отзыва полномочий минта: Если ваша модель требует фиксированного верхнего предела, отзовите полномочия минта после первоначального распространения. Это необратимо.
  • Проверяйте по адресу минта, а не по символу: Символы не являются уникальными. Всегда предъявляйте и проверяйте публичный ключ минта.
  • Планируйте аренду и жизненный цикл аккаунтов: Токен-аккаунты должны быть не облагаемыми арендой (rent-exempt). Информируйте пользователей о закрытии пустых аккаунтов для возврата ламп, или предложите функцию "очистки" (cleanup UX).
  • Тщательно тестируйте расширения Token-2022: Некоторым кошелькам и индексаторам может потребоваться дополнительная работа для хуков передачи или конфиденциальных балансов. По возможности предоставьте запасной вариант без расширений.
  • Уважайте конфиденциальность пользователей и местные нормативные акты: Если вы используете хуки передачи или политики "заморожено по умолчанию", четко сообщайте об этом и публикуйте исходный код вашей политики программы и план обновлений.

Ссылки:

Для разработчиков: корректные шаблоны и распространенные ошибки

  • Всегда проверяйте минт: Перед любой передачей убедитесь, что как исходный, так и целевой токен-аккаунт соответствуют ожидаемому минтру и владельцу.
  • Используйте ATA Program: Создавайте и выводите канонические токены-аккаунты с помощью Associated Token Account Program, чтобы избежать несоответствия адресов.
  • Аккуратно управляйте делегатами и разрешениями: Делегирование позволяет программе перемещать токены от имени пользователя — четко определяйте разрешения и отзывайте их по завершении.
  • Используйте ограничения Anchor или эквивалентные проверки во время выполнения: В Anchor используйте ограничения типа #[account([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/) = …)] и #[account(mint = …)], чтобы сделать проверки минта/владельца явными. См. Anchor docs для шаблонов проверки аккаунтов.
  • Помните о вычислениях и CPI при использовании хуков: Хуки передачи добавляют дополнительный переход через программу и могут привести к сбою передачи; выделяйте вычислительные ресурсы соответствующим образом и предоставляйте четкие сообщения об ошибках.
  • Обрабатывайте закрытие аккаунтов: При сжигании до нуля рассмотрите возможность закрытия токен-аккаунта для возврата арендной платы; выведите этот путь в вашем пользовательском интерфейсе.

Справочники для разработчиков:

Что дальше для активов SPL

По мере того как пропускная способность Solana и дизайн рынка комиссий продолжают развиваться, наиболее выиграют сценарии использования токенов, требующие как скорости, так и программируемости — такие как платежи в реальном времени, расчеты RWA и встроенные финансовые услуги. Расширения в Token-2022 предоставляют стандартизированные, проверенные строительные блоки для активов, учитывающих требования соответствия, в то время как альтернативные клиентские программы валидаторов, такие как Firedancer, нацелены на дальнейшее повышение производительности для следующей волны адаптации.

Безопасное хранение и выпуск SPL токенов

Независимо от того, являетесь ли вы опытным пользователем, казначеем или эмитентом, управляющим полномочиями, ваши приватные ключи являются единой точкой отказа. Аппаратный кошелек помогает хранить ключи в офлайне и прозрачно проводить одобрения транзакций. OneKey является open-source и поддерживает Solana, что позволяет вам:

  • Хранить полномочия минта/заморозки и казначейства в холодных хранилищах.
  • Просматривать переводы токенов и обновления полномочий на безопасном экране перед подписанием.
  • Использовать одно и то же устройство на настольном компьютере и мобильном телефоне с приложением OneKey для SPL токенов.

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


Дополнительное чтение:

Защитите свое криптопутешествие с OneKey

View details for OneKey ProOneKey Pro

OneKey Pro

По-настоящему беспроводной. Полностью автономный. Самый продвинутый, изолированный от интернета, холодный кошелёк.

View details for OneKey Classic 1SOneKey Classic 1S

OneKey Classic 1S

Ультратонкий. Удобен для ношения в кармане. Надежный банковский уровень.

View details for OneKey SifuOneKey Sifu

OneKey Sifu

Индивидуальная настройка кошелька с экспертами OneKey.

Читать дальше