August 20, 2025

Разбор полётов, и то, как же всё таки вайб кодеру удалось сминтить токены.

В этой статье я подробно расскажу доступным языком, как запустить скрипт для минта, и объясню принцип работы на примере iq6900.

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

Вот смотри, на первом лаунче $CODE, кодер в прямом эфире, закинул часть софта. Ключевой функционал выглядел примерно так:

const mintcode = '{"p":"spl-2.0","op":"mint","tick":"code","amt":"800"}';
await iqsdk.codeIn(mintcode,"SPL-2.0",'G IQ Labs');

Красиво, да? Коротко и непонятно. Я называю это псевдокодом, потому что он показывает суть, но скрывает всю грязную работу. Ты видишь команду «mint $CODE», но не видишь, КАК программа это делает: как создаются специальные аккаунты (это те самые PDA), как пакуются данные, какие еще служебные адреса должны быть в транзакции. Всё это приходится выковыривать вручную, разбирая чужие транзакции под микроскопом.

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

И теперь главное: этот же принцип, работает для кучи других подобных лаунчей. Не только $CODE. Просто нужно знать, какие инструкции поменять.

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


ШАГ 0

Тебе нужен Node.js. Если нет — гугли «как установить Node.js», это две кнопки.

Скачиваешь любую ide, можно даже в блокноте - в моём случае VsCode.

Создаёшь любую папку у себя на компе, открываешь её в vs code.

Создаёшь файл mint.mjs в этой папке.

В этот файл просто перекидываешь код с готового скрипта(закинул в комменты поста тг).

Затем ставим нужные нам библиотеки, в терминале ide одной строкой:

npm init -y && npm install @solana/web3.js bs58

ШАГ 1

В этом скрипте нужно поменять 6 ключевых моментов:

1. ТВОЙ ПРИВАТНИК

Вставляешь приватный ключ своего коша вот сюда:

const WALLET_SECRET = 'приватник';

2. АДРЕС ПРОГРАММЫ

У каждой новой коллекции свой смарт-контракт.

Как получить:

  • Зарегистрируй кош через интерфейс (обычно через первую транзу “connect” на сайте/вкладке проекта).
  • Найди свою транзакцию регистрации в solscan и скопируй её program id — это и есть нужный тебе адрес.
  • Например, для IQ6900:
const PROGRAM_ID = new PublicKey('FG5nDUjz4S1FBs2rZrXsKsa7J34e21WF17F8nFL9uwWi');

3. PDA и где его взять

  • Тебе нужен свой персональный “DB Account” — специальный адрес, который создаёт программа на твой паблик-ключ.
  • Как получить:
    • После первой реги/инициализации на сайте проекта, смотри в solscan свою транзу, ищи среди Input Accounts адрес с меткой “Db account” или похожее.
    • Этот адрес тебе нужен, например:
jsconst account2 = new PublicKey('тут вставить db акк');
    • Если не видишь — значит, регистрацию не прошёл, иди сначала на сайт и законекти кош.

4. Ключевые поля для того чтобы транза прошла успешно

const account1 = payer.publicKey; // твой кошелёк 
const account3 = new PublicKey('11111111111111111111111111111111'); // 
SystemProgram (стандартно для Solana) const account4 = new 
PublicKey('GbgepibVcKMbLW6QaFrhUGG34WDvJ2SKvznL2HUuquZh'); // служебный адрес, как правило один и тот же для большинства минтов

5. Строка offset

В каждой успешной транзе минта есть поле offset

Где её взять:

  • Открываешь любую успешную транзакцию минта в solscan
  • Ищешь раздел "Instruction Data" → кликаешь "Raw" → смотришь поле offset
  • Копируешь эту строку и вставляешь в код:
const offset = serializeString("AvwoeTNoaHJrvqyL7QDnRJCqiAgWJeoriiJMcjizWwku");

6. JSON для минта

Самое важное — вот этот JSON определяет что и сколько минтить:

const mintJson = '{"p":"spl-2.0","op":"mint","tick":"code","amt":"800"}';

Для других токенов меняешь tick и amt:

const mintJson = '{"p":"spl-2.0","op":"mint","tick":"degen","amt":"1000"}';


Tick - название токена

Amt - количество токенов


ШАГ 2 ЗАПУСК И МОЛИТВА

  • Сохраняешь файл
  • В терминале пишешь:
    node mint.js

По сути мы повторяем успешную транзу инициализации кошелька, при этом сминтив токены с нужными инструкциями.


Если всё сделал правильно — минт пройдёт, ты увидишь транзу в solscan, а токены — на своём адресе.