Дисклеймер: если вы хотите следовать инструкции из этой статьи, вам придется тратить реальные SOL, реальные деньги. Если вы не хотите тратить ваши SOL и создавать настоящий SPL токен, пожалуйста, используйте devnet или testnet

Это далеко не первая статья на данную тему, многие писали об этом до меня. Но технология - вещь подвижная - и не стоит на месте. Некоторые моменты изменились, некоторые инструменты ушли в небытие, и я собираюсь представить самый простой рабочий метод создания SPL токена с ограниченным предложением на Solana в 2025 года. Поехали!


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

Любое хорошее дело начинается с плана!

Every good thing starts with the plan!

  1. Установить Solana-CLI и сгенерировать кошелек/адрес.

  2. Пополнить наш свежий кошелек (рекомендуется 0.05 SOL).

  3. Установить Rust и spl-token CLI.

  4. Использовать утилиту spl-token (spl-token-cli) чтобы создать наш токен.

  5. Подготовить JSON с метаданными. Загрузить метаданные и логотип в децентрализованное хранилище.

  6. Выпустить предложение токена.

  7. Отключить функцию выпуска и заморозить метаданные.

  8. Перевести токены друзьям или на другие специальные кошельки.

  9. Распространение токена.

  10. Создание пару и добавление ликвидности на децентрализованный обменник (DEX).

В данной статье мы покроем шаги 1–8, шаги 9–10 заслуживают отдельной статьи.

Мы будем использовать Token 2022 Program, чтобы создать SPL токен и управлять его метаданными. Без метаданных [на Solana] это будет простой токен, без логотипа, а также без какого-либо символа и имени. Им можно пользоваться, но не факт, что к нему будет проявлен какой-либо интерес. Итак, откроем эксплорер (Solscan) и посмотрим на программу Token 2022.

Нам понадобится Program ID (также иногда называемой адресом программы), скопируйте его и сохраните (это может быть текстовый файл, упомянутый выше или ваши заметки).

Рассчитываю, что вы пользуетесь Linux или MacOS. Если вы работаете на Windows - вам необходимо использовать WSL или аналогичное решение. Это также заслуживает отдельной статьи и не вписывается в эту.

Начнем с установки Solana CLI (если вы еще этого не сделали). Откройте терминал и запустите следующую команду:

sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"

После успешной установки вы увидите сообщение следующего характера:

Close and reopen your terminal to apply the PATH changes or run the following in your existing shell:export PATH="/Users/<username>/.local/share/solana/install/active_release/bin:$PATH"

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

export PATH="/Users/<username>/.local/share/solana/install/active_release/bin:$PATH"

Готово! Теперь попробуем несколько команд, чтобы убедиться.

solana --version

Вы должны увидеть что-то вроде:

solana-cli 2.0.24 (src:4c817c28; feat:607245837, client:Agave)

Сгенерируйте новую пару ключей следущей командой:

solana-keygen new

Это должно сохранить пару ключей в папке по умолчанию. А теперь узнаем наш адрес в Solana:

solana address

Мой как бы и не важен. Но, конечно, если желаете, можете поставить мне кофе или пиво (только я выберу сам, что), отправив мне немного SOL на 4f6QgbUoauEwPCgUFhppQiEmX8XJZ1GPs7XrGwQaGYYV. Но ваш адрес будет другим. Скопируйте и вставьте ваш адрес в текстовый файл или заметки. Далее нам необходимо пополнить его немного SOL. Это можно сделать через централизованную биржу, сервис типа Moonpay, или любой холодный/горячий кошелек на котором есть SOL. Все, что вам нужно сделать - это перевести SOL на ваш новый адрес. Это потребуется для последующих операций. Советую положить примерно 0.05 SOL.

После пополнения кошелька, проверим его баланс.

solana balance

Должно показать ровно столько SOL, сколько вы и отправили. Шаги 1-2 завершены, и мы переходим к самому интересному.

Создание токена

Чтобы установить spl-token-cli, сначала нужно установить Rust. После установки Rust is (возможно, вам придется перезапустить терминал) мы можем установить spl-token CLI:

cargo install spl-token-cli

Заварите себе чай или кофе, это займет несколько минут. Когда готово, пробуем:

spl-token --version

Мы почти на месте. Чтобы узнать, как пользоваться утилитой spl-token, можно посмотреть help.

spl-token --help

Запустим spl-token с Program ID программы Token 2022 Program, командой create-token и опцией enable-metadata.

spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --enable-metadata

Если вы располагаете достаточным количеством SOL, вам будет показан адрес свежесозданного токена, количество знаков после запятой (по умолчанию в Solana - 9) и подпись транзакции. Скопируйте адрес токена в ваш файл или заметки. Вам также будет показана команда для инициализации он-чейн метаданных токена (Metaplex metadata).

To initialize metadata inside the mint, please run `spl-token initialize-metadata <YOUR_TOKEN_ADRESS> <YOUR_TOKEN_NAME>   <YOUR_TOKEN_SYMBOL> <YOUR_TOKEN_URI>`

Просто и понятно, не так ли? Секунду! Как насчет token URI? У нас его нет... пока. Давайте решим этот вопрос!

Создание и выгрузка метаданных

Для этого обычно используют IPFSArweave (если вы совсем ленивы, можете использовать ardrive) или Pinata.

Начнем с логотипа токена. Это должно быть квадратное изображение размером 256x256 пикселей. Желательно PNG с прозрачным фоном. Документация также говорит, что можно использовать SVG, но я подозреваю, что не все кошельки и сервисы будут это поддерживать.

После выгрузки файла вы должны получить ссылку. В случае с Pinata это будет выглядеть примерно так:

https://salmon-defeated-piranha-879.mypinata.cloud/ipfs/afgsreidvep3nj4z4kggopgfc56vtgpwtsyf6ith2fslvam5u7vq7o2i4hu

Теперь мы может это использовать в нашем JSON-файле с метаданными, также называемом offchain metadata. Скопируйте эту ссылку и сохраните ее в вашем текстовом файле или заметках. Также скопируйте ее в буфер, т.к. это понобится на следующем этапе.

Создадим JSON-файл со следующей структурой (замените плейсхолдеры на ваши значения):

{
"name": "MyCoin",
"symbol": "MYCOIN",
"description": "Please put a coin description here.",
"image": "https://<your-pinata-id>.mypinata.cloud/ipfs/<CID>",
"external_url": "https://mycoinwebsite.com",
"attributes": [
{"trait_type": "Type", "value": "Meme Coin"},
{"trait_type": "Blockchain", "value": "Solana"}
],
"properties": { "files": [{
"uri": "https://<your-pinata-id>.mypinata.cloud/ipfs/<CID>",
"type": "image/png"
}],
"category": "image"
}
}

По мере готовности заливаем на Pinata/Arweave, и — снова — сохраняем ссылку в рабочий файл.

In order to update the metadata we will use the command proposed before:

spl-token initialize-metadata <YOUR_TOKEN_ADRESS> <YOUR_TOKEN_NAME> <YOUR_TOKEN_SYMBOL> <YOUR_TOKEN_URI>

Вставляем свой адрес токена, полное название токена, символ токена (сокращенное называние), а также URI загруженного JSON-файла.

Выпуск предложения

Перед выпуском токена нам необходимо создать токен-аккаунт, такова специфика работы с SPL-токенами на Solana.

spl-token create-account <YOUR_TOKEN_ADDRESS>

Это создаст специальный аккаунт - скопируйте и сохраните его адрес в ваш рабочий файл. На этот аккаунт выпускаем токен:

spl-token mint <YOUR_TOKEN_ADDRESS> <AMOUNT> <YOUR_MINT_ACCOUNT>

spl-token balance <YOUR_TOKEN_ADDRESS>

Давайте убидимся, что все в порядке. Открываем в браузере ссылку (вставьте адрес своего токена):

https://solscan.io/token/<YOUR_TOKEN_ADDRESS>

В обозревателе блокчейна вы увидите имя токена, символ и логотип. В кошельках типа Phantom и пр. метаданные могут появится не сразу, а через какое-то время.

Призываем Subzero!

После того, как мы сделали выпуск, замораживаем дальнейший выпуск и обновление метаданных (исключая такую возможность):

spl-token authorize <YOUR_TOKEN_ADDRESS> mint --disable

spl-token authorize <YOUR_TOKEN_ADDRESS> freeze --disable

spl-token authorize <YOUR_TOKEN_ADDRESS> metadata --disable

Мои поздравления! Вы сделали этo!

Отправляем токен друзьям

Используем следующую команду:

spl-token transfer --fund-recipient <YOUR_TOKEN_ADDRESS> amount <YOUR_FRIENDS_SOLANA_ADRESS> --allow-unfunded-recipient

Можно открыть solscan.io и посмотреть детали транзакции, скопировал и вставив подпись транзакции из терминала.

В следующей части мы рассмотрим как создать пару на Raydium DEX и добавить ликвидность (что также делает наш токен доступным на Jupiter DEX). Это позволит людям торговать вашим токеном. Также рассмотрим альтернативные способы создания токенов на Solana. Продолжение следует...

Комментарии (9)


  1. SergeyNovak
    07.02.2025 12:12

    Очень интересно, но ответы на самые главные вопросы так и не нашёл.  Зачем мне может понадобиться SPL токен на Solana в 2025 году? Что такое SPL? Почему именно Solana, а не миллион мемкойнов? Чем отличается этот процесс создания в 2025 от 2024 кроме SEO заголовков?


    1. dimitrymd Автор
      07.02.2025 12:12

      Отвечу на каждый вопрос по отдельности. Чуть позже. Пока отвечу почему Solana: ее капитализация существенно превышает капитализацию Ethereum, к примеру. Иными словами, там больше ликвидности - больше денег.


      1. SergeyNovak
        07.02.2025 12:12

        Чем дальше, тем больше вопросов. Мне какая разница у кого больше денег? Если я пишу бота, то меня интересует волатильность. Если инвестирую вдолгую, то меня интересует рост на долгой дистанции. Но какое это имеет отношение к токенам и почему именно Солана я ответа не вижу.


        1. dimitrymd Автор
          07.02.2025 12:12

          Это не имеет отношения к созданию токенов. Если вы пишете бота, вы работаете с другой стороны рынка. Вам не нужно создавать токен, если вы пишете бота. Создавать токен нужно, когда есть проект, в котором его можно эффективно использовать. Я же просто хотел показать, как просто сделать мемкоин. Мемкоин, который не имеет никакой ценности, и создается просто по фану. И вы не увидите ответа, почему именно Solana. Если интересно, могу описать данный процесс на других чейнах. Как блокчейн-консультант (по разработке, не по торговле) работаю далеко не только с Solana.


    1. dimitrymd Автор
      07.02.2025 12:12

      Чем отличается этот процесс создания в 2025 от 2024 кроме SEO заголовков?

      Самое главное, что метаданные можно зугрузить без помощи metaplex или metaboss. Процесс стал легче, не нужно использовать кучу разных инструментов, можно использовать один.

      В 2024 было, конечно, то же самое. Но в 2022 - нет. Процесс был сложнее.


    1. dimitrymd Автор
      07.02.2025 12:12

      Зачем мне может понадобиться SPL токен на Solana в 2025 году?

      Именно в 25 года, в середине января, был запущен мем-коин Трампа, благодаря которому последний поднял около 20 млрд. долларов. Сейчас бум мемкоинов. Трамп запустил свой мемкоин именно на Solana.


      1. SergeyNovak
        07.02.2025 12:12

        Офигенно! Это ведь означает только одно: хомячья обули на 20 ярдов.

        И да, вот восторженные отзывы на Binance по поводу Трампа на Солане:
        https://www.binance.com/en/square/post/19806437545257

        Чтобы людей не напрягать даже переведу:

        Королева Хиба

        3 февр.Медвежий

        Следовать

        Я крайне разочарован и глубоко обескуражен своим опытом общения ТРАМП Инвестиции в монеты. Как и многие другие, я инвестировал свои с трудом заработанные деньги, полагая, что это будет мудрым финансовым выбором. К сожалению, вместо того, чтобы увидеть прибыль, мы столкнулись со значительными потерями, и для некоторых последствия были действительно разрушительными.

        Будучи студентом, я рискнул инвестировать свои семестровые взносы, надеясь заработать достаточно, чтобы поддержать свое обучение. Однако ожидаемые доходы так и не материализовались, оставив меня в сложной финансовой ситуации. К сожалению, я не одинок в этом. Многие инвесторы, особенно студенты, которые пытаются обеспечить свое будущее, были введены в заблуждение и эксплуатированы этим проектом.

        Невероятно обидно думать, что так много людей доверились этому предприятию, а потом остались в беде. Эта ситуация — не просто неудачное инвестиционное решение; она ощущается как предательство. Лица, которые продвигали этот проект, создавая ложные ожидания, должны нести ответственность за причиненный вред. Это позорная ситуация, которая никогда не должна была произойти.


        1. dimitrymd Автор
          07.02.2025 12:12

          Трамп токен - это неприкрытый скам, и Трамп - это бессовестный жадный старикашка-мразматик. Тут не спорю. Но в то же время, интересный кейс. И это не отменяет бум мемкоинов, который имеет место сейчас. Вопрос, как к этому относиться. Возможно, кому-то интересно, как это делается. Для них я написал эту статью. Ну и для себя - чтобы русский язык не забывать.


    1. dimitrymd Автор
      07.02.2025 12:12

      Что такое SPL?

      SPL - стандарт токенов на Solana. Чем-то аналогичен ERC20 на Ethereum. Правда, в отличие от ERC20 (fungible tokens), SPL покрывает как FT так и NFT.