Разбор полётов, и то, как же всё таки вайб кодеру удалось сминтить токены.
В этой статье я подробно расскажу доступным языком, как запустить скрипт для минта, и объясню принцип работы на примере 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. Просто нужно знать, какие инструкции поменять.
Вот тебе прямой гайд, как запустить такой скрипт под любую другую дичь, которую ты можешь найти в интернетах.
Тебе нужен Node.js. Если нет — гугли «как установить Node.js», это две кнопки.
Скачиваешь любую ide, можно даже в блокноте - в моём случае VsCode.
Создаёшь любую папку у себя на компе, открываешь её в vs code.
Создаёшь файл mint.mjs в этой папке.
В этот файл просто перекидываешь код с готового скрипта(закинул в комменты поста тг).
Затем ставим нужные нам библиотеки, в терминале ide одной строкой:
npm init -y && npm install @solana/web3.js bs58
В этом скрипте нужно поменять 6 ключевых моментов:
Вставляешь приватный ключ своего коша вот сюда:
const WALLET_SECRET = 'приватник';
У каждой новой коллекции свой смарт-контракт.
- Зарегистрируй кош через интерфейс (обычно через первую транзу “connect” на сайте/вкладке проекта).
- Найди свою транзакцию регистрации в solscan и скопируй её program id — это и есть нужный тебе адрес.
- Например, для IQ6900:
const PROGRAM_ID = new PublicKey('FG5nDUjz4S1FBs2rZrXsKsa7J34e21WF17F8nFL9uwWi');
- Тебе нужен свой персональный “DB Account” — специальный адрес, который создаёт программа на твой паблик-ключ.
- Как получить:
jsconst account2 = new PublicKey('тут вставить db акк');4. Ключевые поля для того чтобы транза прошла успешно
const account1 = payer.publicKey; // твой кошелёк
const account3 = new PublicKey('11111111111111111111111111111111'); // SystemProgram (стандартно для Solana) const account4 = new
PublicKey('GbgepibVcKMbLW6QaFrhUGG34WDvJ2SKvznL2HUuquZh'); // служебный адрес, как правило один и тот же для большинства минтовВ каждой успешной транзе минта есть поле offset
- Открываешь любую успешную транзакцию минта в solscan
- Ищешь раздел "Instruction Data" → кликаешь "Raw" → смотришь поле
offset - Копируешь эту строку и вставляешь в код:
const offset = serializeString("AvwoeTNoaHJrvqyL7QDnRJCqiAgWJeoriiJMcjizWwku");
Самое важное — вот этот 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"}';node mint.js
По сути мы повторяем успешную транзу инициализации кошелька, при этом сминтив токены с нужными инструкциями.
Если всё сделал правильно — минт пройдёт, ты увидишь транзу в solscan, а токены — на своём адресе.