Введение
В сети TRON есть 2 основных ресурса: энергия (Energy) и пропускная способность (Bandwidth):
- Bandwidth – ресурс, который требуется для передачи и записи транзакции в блок
- Energy – ресурс, который требуется для вызова смарт-контракта
USDT – это смарт-контракт в сети TRON. При переводе USDT инициатор транзакции передает данные в блок (350 Bandwidth) и вызывает смарт-контракт (65-131k Energy).
Если не хватает пропускной способности, транзакция не выполняется. Ее невозможно отправить в сеть.
Если не хватает энергии, но хватает пропускной способности, то будет предпринята попытка обращения к смарт-контракту и появится ошибка FAILED -OUT OF ENERGY>. При этом стоит отметить, что даже при неудачной попытке будут потрачены ресурсы.
Моделирование ошибки FAILED -OUT OF ENERGY вручную
Для вызова ошибки FAILED -OUT OF ENERGY> мы создали кошелек в TronLink и пополнили его на 6 TRX и 10 USDT. На кошельке 0 доступной энергии и 600 пропускной способности.

Для транзакции USDT необходимо минимум 65К энергии, а если энергии недостаточно, то для ее получения будут сжигаться TRX. После принятия Tron Proposal 101 (TIP-789) - стоимость энергии понизилась с 210 до 100 sun и теперь для того, чтобы получить 65000 энергии необходимо сжечь 6.5 TRX.
Так как на кошельке отсутствует энергия, а баланс составляет 6 TRX, при выполнении транзакции USDT получится всего 60000 энергии, которой не хватит. По итогу получим ошибку FAILED -OUT OF ENERGY>
Пошаговое воспроизведение ошибки:
1. В кошельке TronLink нажимаем Send.
2. Вставляем адрес получателя (на нем есть USDT, поэтому стоимость транзакции должна составить 65000 энергии).
3. Отправляем 1 USDT.
4. Появляется окно подтверждения транзакции.
5. Пролистем вниз и увидим, что TronLink подсвечивает ошибку нехватки ресурсов. Но тем не менее позволяет подписать транзакцию, которая заведомо не может быть выполнена.
Кошелек TronLink является официальным для сети TRON, поэтому в нем присутствуют подсказки, расчеты и уведомления пользователя об особенностях работы блокчейна. Другие кошельки, по типу Trust Wallet, Exodus, SafePal etc. могут не сожержать информации о доступных ресурсах. Ошибка из-за нехватки энергии воспроизводится и зачастую без обозрвателя tronscan сложно понять причину отклонения.

6. Если перейти в Total Consumption, то можно будет увидеть сколько какие ресурсов потребуется для успешного выполнения транзакции. В нашем случае это 64К энергии и 356 пропускной способности.
7. Игнорируя предупреждение пробуем подписать транзакцию.
8. TronLink выводит последнее предупреждение о нехватке ресурсов. Мы его игнорируем и нажимаем Confirm.
9. Итог - Transaction Failed.

Перейдем в tronscan.org и посмотрим результаты:
- Результат: FAILED -OUT OF ENERGY>
- Обратим внимание на задействованные ресурсы и комиссии. Было потрачено 345 единиц пропускной способности и 60000 энергии, за счет сжигания 6 TRX.

Воспроизведение ошибки, связанной с нехваткой ресурсов – это наглядный пример того, на какие параметры следует обращать внимание при работе со смарт-контрактами в сети TRON.
Решение проблемы FAILED -OUT OF ENERGY с помощью энергии FeeSaver
Для того, чтобы исключить появление ошибки FAILED -OUT OF ENERGY>, адрес должен иметь достаточное количество ресурсов для выполнения транзакций.
Покупка Energy – если вам нужна энергия для 1 транзакции.
Смарт-режим – если вы делаете частые переводы с одного адреса в течение дня.
API Purchases – если вы хотите автоматизировать персональные покупки или покупки для бизнеса.
Купить энергию и пропускную способность можно в телеграм боте.
Чтобы узнать как пользоваться телеграм ботом FeeSaver изучите настоящее руководство пользователя - @FeeSaver_bot