Что такое пакетный перевод Tron?
Пакетный перевод Tron — это одна транзакция TriggerSmartContract, вызывающая контракт BatchTransfer с массивами получателей и сумм; TVM проходит по ним и отправляет TRX или TRC-20 токены на каждый адрес внутри одной подписанной транзакции. Energy платится отправителем один раз. Эта страница работает только в тестнетах Nile и Shasta, что проверяется сравнением ID генезис-блока.
Шаги
- В TronLink переключите сеть на Nile (Settings → Node) и получите тестовые TRX на nileex.io; кран также выдаёт тестовые USDT.
- Подключитесь, выберите TRX или контракт TRC-20 и разверните пакетный контракт, если ещё не делали этого в данной сети.
- Вставьте получателей и проверьте сводку. Для токенов первая подпись — approve ровно на итоговую сумму.
- Отправьте. Для каждого пакета показываются израсходованная energy, уплаченная комиссия и ссылка на Tronscan; в конце экспортируйте CSV.
Energy, bandwidth и размер пакета
Tron берёт energy за выполнение контракта и bandwidth за байты транзакции. Перевод TRC-20 на адрес, который никогда не держал этот токен, стоит больше energy, чем перевод существующему держателю. 100 получателей на транзакцию — комфортное значение по умолчанию; жёсткий предел — лимит комиссии на транзакцию 15 000 TRX, к которому ни один разумный пакет не приближается.
Адреса
Каждая строка получателя проверяется по Base58Check до подписания чего-либо, поэтому опечатка в адресе T… приводит к отклонению, а не к отправке. Hex-адреса (41…) здесь не принимаются; сначала конвертируйте их в конвертере Tron-адресов.
См. также: валидатор USDT-адресов, конвертер sun в TRX, генератор QR USDT TRC-20.
Часто задаваемые вопросы
Как страница узнаёт, что я в тестнете?
Она читает блок 0 с узла, к которому подключён TronLink, и сравнивает ID блока с генезис-блоками Nile и Shasta. У основной сети генезис-блок другой, поэтому инструмент отказывается продолжать там, какие бы трюки с URL RPC ни применялись.
Почему нужно разворачивать контракт?
В Tron нет встроенной мультиотправки; контракт проходит по получателям внутри одной транзакции. Широко известного публичного multisend в Nile нет, поэтому страница разворачивает контракт BatchTransfer с открытым исходным кодом из вашего кошелька (одна транзакция, несколько сотен тысяч energy) и запоминает адрес в вашем браузере. Также можно вставить адрес контракта, развёрнутого вами ранее.
Что означает лимит комиссии?
Максимум TRX, который вы разрешаете транзакции сжечь на energy и bandwidth. Если у вас есть застейканная energy, сначала используется она. Пакет из 100 переводов TRC-20 обычно требует около 1,5–3 млн energy; 500 TRX — безопасный потолок в тестнете. Если пакет падает с OUT_OF_ENERGY, повысьте лимит или уменьшите число получателей на транзакцию.
Работает ли с тестовым USDT в Nile?
Да. Вставьте адрес контракта USDT в Nile со страницы крана; инструмент прочитает символ, decimals и ваш баланс, запросит approve ровно на нужную сумму и вызовет disperseToken. Контракт допускает токены, не возвращающие boolean, как USDT в основной сети.
Почему не предоставляется контракт для основной сети?
Так задумано: публичная страница работает только в тестнетах. Для раздачи в основной сети (приватное развёртывание того же контракта или помощь с выплатой USDT из вашего собственного кошелька) см. контактную заметку под инструментом.