Скрипт на TypeScript для автоматического закрытия пустых SPL Token аккаунтов на Solana и возврата арендной платы (SOL).
Создано с помощью ChatGPT.
При получении токенов или NFT в вашем кошельке для каждого актива создаётся отдельный SPL Token аккаунт. После отправки токенов такие аккаунты могут оставаться пустыми, продолжая блокировать SOL в виде арендной платы. Данный скрипт:
- Сканирует все SPL Token аккаунты для заданного кошелька.
- Фильтрует пустые аккаунты (где баланс равен 0).
- Разбивает инструкции закрытия на батчи (для уменьшения размера транзакций).
- Отправляет транзакции с повторными попытками в случае ошибок (например, если blockhash устарел).
- Выводит информацию о восстановленных средствах.
- Батчинг транзакций: закрытие аккаунтов пакетами (например, по 20 аккаунтов за транзакцию).
- Retry-логика: повторная отправка транзакции при возникновении ошибок.
- Подтверждение транзакций: каждая транзакция подтверждается с использованием актуального blockhash.
- Вывод статистики: по каждому кошельку выводится, сколько SOL (в лампортах и в SOL) было возвращено, а в конце — итог по всем кошелькам.
-
Клонируйте репозиторий:
git clone https://github.com/sm1ck/closeSolAccounts cd closeSolAccounts -
Установите зависимости:
npm install
-
Создание solana.txt
Создайте файл solana.txt в корне проекта. В каждой строке укажите приватный ключ кошелька в формате Base58.
Пример:
4nY58Z7xpJ...W4f7mrLmZ3 3qRnvM49dj...kKjQxvYkPv -
Создание .env
Создайте файл .env в корне проекта и добавьте параметры:
RPC_URL=https://mainnet.helius-rpc.com/?api-key=your-api-key BATCH_SIZE=20 DELAY_FROM=20 DELAY_TO=180
npm starttg: @Web3_coding · новый контакт: t.me/haruto_j
- HoneyChat — AI companion platform (GitHub · @HoneyChatAIBot)
- layerzero-aptos · snapshotvoter · TestnetBridge
- More: github.com/sm1ck