Арендованная энергия не обязана поступать на кошелёк, который за неё заплатил. В TronSave вы указываете адрес получателя, и делегирование приходит туда — так биржи обеспечивают энергией горячие кошельки, сервисы выплат — адреса для выплат, а агентства — кошельки клиентов с одного аккаунта. Но два типа адресов отклоняются сразу, и один из них удивляет почти всех: делегировать энергию смарт-контракту нельзя.
Получатель — это просто поле
У каждого заказа на покупку есть целевой адрес для ресурсов. Оставьте свой кошелёк — энергия придёт вам; вставьте чужой — она уйдёт туда. Вы платите, получатель получает энергию, и для этой транзакции не требуется ни его участия, ни разрешения.
На этом механизме держится большая часть объёма платформы. Конвейер вывода средств арендует энергию для горячего кошелька, который будет подписывать переводы. Сервис, обслуживающий клиентов, арендует на адрес каждого клиента. Получателю не нужно иметь аккаунт, что-либо подписывать или вообще знать о существовании TronSave.
Интерфейс проверяет адрес прямо во время ввода: зелёная галочка — если он может получать энергию, крестик с причиной — если нет. Рядом с полем есть сканер QR-кода — на случай, когда вы работаете с телефона или с напечатанным адресом.
Два адреса, которые отклоняются
| Состояние | Что это значит | Решение |
|---|---|---|
| Не активирован в блокчейне | Адрес существует как строка, но никогда не активировался как аккаунт TRON. | Активируйте его — см. ниже. |
| Адрес контракта | Адрес принадлежит смарт-контракту, который не может получить делегирование. | Используйте кошелёк, который будет вызывать контракт. |
| Неверный адрес | Это вообще не действительный адрес TRON. | Проверьте, не обрезан ли адрес и нет ли опечатки при вставке. |
Почему неактивированный адрес не может получить энергию
Адрес TRON не является аккаунтом, пока его что-то не активирует. До этого в блокчейне нет записи аккаунта, к которой можно привязать делегированные ресурсы, поэтому делегированию просто некуда поступить. Это самая частая ошибка при массовой загрузке списка свежесгенерированных адресов: они выглядят как действительные адреса, потому что таковыми и являются, но ни один из них ещё не существует как аккаунт.
Инструмент Bulk Buy решает это напрямую: он помечает неактивные строки и предлагает действие Activate Addresses, которое активирует выбранные кошельки примерно за 1,1 TRX каждый. Заложите эту статью расходов в бюджет, когда подключаете партию новых адресов: для тысячи свежих кошельков это ощутимая сумма, и она не входит в стоимость самой энергии. В нашем руководстве по активации кошелька TRON объясняется, что такое активация и почему TRON берёт за неё плату.
Почему адрес контракта не может получить энергию
На этом спотыкаются разработчики, потому что их интуиция вполне логична: вызов моего контракта дорогой, значит, моему контракту нужна энергия. TronSave прямо отклоняет такой адрес — contract address, cannot receive delegation, — а подсказка к полю говорит, что цель «не может быть адресом контракта».
Решение — сместить представление о том, где возникает затрата. Энергия для вызова контракта расходуется с аккаунта, который подписывает и отправляет транзакцию, а не с вызываемого контракта. Поэтому, когда ваш сервис вызывает контракт, арендуйте энергию для кошелька, который делает вызов. Самому контракту она никогда не нужна.
Конкретно: чтобы отправить USDT, вы арендуете энергию для кошелька-отправителя, а не для контракта USDT. Чтобы вызвать своё dApp, вы арендуете для кошелька каждого пользователя или для того горячего кошелька, который подписывает от их имени. Если вам хочется обеспечить энергией контракт, нужный адрес находится на шаг выше по цепочке. Как рассчитать этот объём — см. сколько энергии стоит вызов смарт-контракта.
Покупка сразу для многих получателей
Один получатель на заказ — нормально, пока их не стало пятьдесят. Bulk Buy принимает вставленный список или CSV и применяет один объём и срок ко всем адресам, показывая статус по каждому адресу, чтобы было точно видно, какие прошли успешно.
Он также заранее выполняет проверку, разбивая список на те же категории, что выше, плюс дубликаты, — так что список с повторяющимся адресом, контрактом и тремя неактивированными кошельками сообщит вам об этом до оплаты, а не после. Очистите список, активируйте то, что нужно, и только затем покупайте.
Мультиподпись и оплата с другого адреса
Стоит разделять два связанных понятия, потому что их легко смешать:
- Кто получает энергию — адрес получателя, о котором шла речь выше.
- Кто платит — либо ваш предоплаченный внутренний баланс, с которого TRX списывается мгновенно и без газа, либо ончейн-платёж с подключённого кошелька.
Ончейн-оплата поддерживает мультиподпись, и для адреса мультиподписного аккаунта есть отдельное поле. Это важно для казначейств и бирж, где ни один ключ в одиночку не может перемещать средства: платёж может требовать обычных совместных подписей, а энергия при этом поступает на тот операционный кошелёк, которому она нужна.
Если вы заказываете через API, то же разделение выражено отдельными параметрами для получателя и запрашивающего аккаунта, так что бэкенд-сервис может размещать заказы для адресов, которые он не контролирует. SDK поддерживают оба параметра.
Короткий чек-лист перед пакетной покупкой
- Убедитесь, что каждый получатель — кошелёк, а не контракт.
- Проверьте неактивированные адреса и активируйте их (~1,1 TRX каждый).
- Уберите дубликаты из списка — двойная оплата за один адрес означает незаметные потери.
- Выберите источник оплаты: внутренний баланс для скорости, ончейн — если нужна мультиподпись.
- Рассчитывайте энергию на каждого получателя, а не на заказ.
Частые вопросы
Можно ли купить энергию TRON для чужого кошелька?
Да. Укажите его адрес в качестве получателя. Получателю не нужен аккаунт TronSave и не нужно ничего подтверждать — делегирование просто поступит.
Почему рядом с адресом получателя красный крестик?
Три варианта: аккаунт не активирован в блокчейне, адрес принадлежит смарт-контракту или это недействительный адрес TRON. Наведите курсор на значок — он покажет причину.
Моему контракту нужна энергия. Куда её отправлять?
На кошелёк, который подписывает вызов. Энергия расходуется с вызывающего аккаунта, поэтому сам контракт никогда не получает делегирование.
Сколько стоит активация адреса?
Примерно 1,1 TRX за кошелёк через действие активации в Bulk Buy. Это разовая плата за адрес, отдельная от арендуемой энергии.
Можно ли платить с мультиподписного кошелька?
Да — ончейн-оплата поддерживает мультиподпись, для адреса мультиподписного аккаунта есть отдельное поле. Получатель энергии задаётся независимо.
Остаётся ли энергия у получателя навсегда?
Нет. Арендованная энергия делегируется на выбранный вами срок, а затем возвращается провайдеру. Неиспользованная часть просто не расходуется.
Итог
Поле получателя — то, что делает TronSave удобным для всех, у кого больше одного кошелька: вы обеспечиваете энергией адреса, которые подписывают транзакции, с одного аккаунта и одним заказом. Помните лишь два правила, которые проверяет интерфейс: получатель должен быть активированным аккаунтом и должен быть кошельком, а не контрактом. Обе ошибки видны до оплаты — достаточно посмотреть на значок рядом с адресом.
Обслуживаете больше одного кошелька? Вставьте список в Bulk Buy на TronSave — он проверит каждый адрес и пометит контракты, дубликаты и неактивные аккаунты до оплаты.
Этот блог издаёт TronSave, и TronSave же управляет описанным здесь маркетплейсом. Стоимость активации ~1,1 TRX и правила проверки получателей соответствуют продукту на момент написания и могут измениться. Это не финансовая рекомендация.
