Skip to content

mikdub/solana-maker-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Solana Maker Generator

Этот скрипт создает несколько кошельков, выполняет покупку и продажу указанного токена через Jupiter Aggregator и возвращает остатки SOL на мастер-кошелек. Предназначен для генерации уникальных «мейкеров» (кошельков, которые совершали сделки с токеном) на DEX Solana.

## Возможности
- Генерация или загрузка существующих кошельков (сохраняются в `wallets.json`).
- Перевод SOL с мастер-кошелька на каждый новый кошелек (с учетом комиссий и ренты).
- Покупка (SOL → токен) через Jupiter API v6.
- Продажа (токен → SOL) всего баланса токена.
- Настраиваемые задержки, проскальзывание, лимиты compute units и приоритетная комиссия.
- **Проверки и валидация**:
  - Проверка конфигурационного файла перед запуском.
  - Проверка достаточности баланса мастер-кошелька для всех операций.
  - Повторные попытки (retry) при получении котировки и отправке транзакций (до 3 раз).
  - Верификация баланса токена после покупки (должен увеличиться).
  - Проверка наличия токенов перед продажей.
  - Предупреждение, если после продажи остались токены (из-за округления).
- Возврат остатков SOL на мастер-кошелек после обработки каждого кошелька (sweep).
- Детальное логирование и итоговая статистика.

## Требования
- Node.js v16 или выше.
- RPC-эндпоинт Solana (Helius, QuickNode или публичный).
- Мастер-кошелек с достаточным количеством SOL для финансирования операций.

## Установка
1. Создайте папку проекта и поместите в неё файлы:
   - `index.js`
   - `config.json`
   - `package.json`
2. Выполните `npm install` для установки зависимостей.

## Конфигурация
Отредактируйте `config.json`:

- `MASTER_PRIVATE_KEY` — приватный ключ мастер-кошелька в base58.
- `RPC_URL` — ваш RPC URL (например, от Helius или QuickNode).
- `TOKEN_MINT_ADDRESS` — адрес mint токена, с которым будут производиться сделки.
- `NUM_WALLETS` — количество кошельков-мейкеров для генерации/обработки.
- `SOL_PER_WALLET` — количество SOL для каждой покупки (в SOL).
- `MIN_DELAY_MS` / `MAX_DELAY_MS` — диапазон случайной задержки между покупкой и продажей (в миллисекундах).
- `SLIPPAGE_BPS` — допустимое проскальзывание в базисных пунктах (100 = 1%).
- `COMPUTE_UNIT_LIMIT` — (опционально) лимит вычислительных единиц на транзакцию.
- `PRIORITY_FEE_MICRO_LAMPORTS` — (опционально) приоритетная комиссия в микролампортах за единицу compute unit.

Пример `config.json` см. в отдельном файле.

## Использование
Запустите скрипт командой:
```bash
npm start

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

  1. Проверит конфигурацию и баланс мастер-кошелька.
  2. Загрузит существующие кошельки из wallets.json или сгенерирует новые.
  3. Для каждого кошелька: · Убедится, что на кошельке достаточно SOL (если нет – переведёт с мастер-кошелька). · Выполнит покупку (SOL → токен) и проверит увеличение баланса токена. · Подождет случайную задержку. · Выполнит продажу всего баланса токена (токен → SOL). · Вернёт оставшийся SOL на мастер-кошелек (sweep).
  4. Выведет итоговую статистику.

Проверки и валидация

Скрипт включает следующие механизмы для повышения надёжности:

· Валидация конфигурации: перед запуском проверяется наличие всех обязательных полей и корректность числовых значений. · Проверка мастер-баланса: вычисляется приблизительная сумма SOL, необходимая для всех операций, и сравнивается с текущим балансом мастер-кошелька. При недостатке средств выполнение прерывается. · Retry при получении котировки: если запрос к Jupiter API не удался, выполняется до 3 повторных попыток с увеличивающейся задержкой. · Проверка котировки: если полученная котировка пуста или outAmount равен 0, выбрасывается ошибка. · Верификация покупки: после успешной транзакции скрипт ожидает 3 секунды и проверяет, что баланс токена на кошельке увеличился. Если нет – операция считается неудачной. · Проверка перед продажей: если баланс токена равен 0, продажа не выполняется (генерируется ошибка). · Проверка после продажи: если после продажи остались токены (возможно из-за округления), выводится предупреждение. · Retry для транзакций: при отправке любой транзакции выполняется до 3 повторных попыток в случае ошибок RPC. · Обработка ошибок и sweep: даже при сбое в обработке кошелька скрипт пытается вернуть его SOL на мастер-кошелек.

Важные замечания

· Убедитесь, что мастер-кошелек имеет достаточный баланс SOL для всех переводов и комиссий. · Токен должен обладать достаточной ликвидностью на Jupiter для запрашиваемых сумм. · Приватные ключи генерируемых кошельков сохраняются в wallets.json – храните этот файл в безопасности. · Если кошелек не удалось обработать, его SOL всё равно будут возвращены (sweep), но он не будет засчитан как успешный мейкер.

Отказ от ответственности

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

About

Solana Maker Generator using Jupiter API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors