Back to Blog

Education / A10

Экономика ресурсов TRON: руководство для разработчиков

Каждая транзакция на TRON потребляет ресурсы. Если вы не понимаете, как работают эти ресурсы, вы переплачиваете за каждую операцию вашего приложения. Это не теоретическая проблема — разница в расходах между оптимизированным по ресурсам приложением TRON и наивным может превышать 90%.

Эта статья является полным справочником разработчика по экономике ресурсов TRON. Она охватывает затраты энергии по типам операций, механику bandwidth, коэффициенты стейкинга, скорости сжигания, рынок аренды и фреймворк для выбора правильной стратегии ресурсов для вашего случая использования.

Два ресурса: Energy и Bandwidth

TRON имеет два вычислительных ресурса, которые потребляют транзакции:

Energy потребляется выполнением смарт-контрактов. Каждый опкод в TVM (виртуальная машина TRON) имеет стоимость в energy. Чем сложнее взаимодействие с контрактом, тем больше energy оно потребляет. Energy — это дорогой ресурс, он определяет большую часть затрат на транзакции в TRON.

Bandwidth потребляется сырым размером данных транзакции. Каждый байт данных транзакции стоит bandwidth. Простые переводы TRX, переводы токенов и вызовы контрактов все потребляют bandwidth пропорционально их сериализованному размеру. Bandwidth — более дешевый ресурс, и TRON предоставляет ежедневное бесплатное пособие в размере 600 пунктов bandwidth каждому активному адресу.

Критическое различие: простой перевод TRX потребляет только bandwidth (смарт-контракт не задействован). Перевод USDT, обмен на DEX или любое другое взаимодействие со смарт-контрактом потребляет и energy, и bandwidth.

Затраты Energy по типам операций

Потребление energy сильно варьируется в зависимости от типа операции. Вот эмпирические измерения из транзакций мейннета:

Переводы TRC-20 токенов

USDT transfer (existing recipient):     ~31,895 - 64,285 energy
USDT transfer (new recipient):          ~65,527 energy
USDT transferFrom (with approval):      ~45,000 - 68,000 energy
USDC transfer:                          ~32,000 - 65,000 energy
Custom TRC-20 transfer:                 ~30,000 - 100,000+ energy

Вариативность переводов USDT заслуживает объяснения. Когда получатель никогда раньше не владел USDT, контракт должен выделить новую ячейку хранилища в своём внутреннем маппинге. Эта операция SSTORE стоит значительно больше energy, чем обновление существующего баланса (SLOAD + SSTORE на существующей ячейке). Разница между первичным и повторным получателем может превышать 30,000 energy.

Операции DEX

SunSwap V2 single-pair swap:            ~200,000 - 300,000 energy
SunSwap V2 multi-hop swap:              ~400,000 - 600,000 energy
Add liquidity:                          ~250,000 - 350,000 energy
Remove liquidity:                       ~200,000 - 300,000 energy

Операции DEX дорогие, потому что они включают несколько вызовов контрактов в одной транзакции: контракт роутера, контракт пары, одобрения токенов, вычисления цен и переводы токенов.

Операции с NFT

TRC-721 mint:                           ~100,000 - 200,000 energy
TRC-721 transfer:                       ~50,000 - 80,000 energy
TRC-1155 mint (single):                 ~80,000 - 150,000 energy
TRC-1155 batch mint:                    ~150,000 - 500,000+ energy

Развёртывание контракта

Simple contract deployment:             ~500,000 - 1,000,000 energy
Complex contract (DEX pair):            ~2,000,000 - 5,000,000 energy
Proxy contract deployment:              ~300,000 - 600,000 energy

Ключевое замечание: не жёсткодируйте значения

Эти числа — диапазоны, не константы. Фактическое потребление energy зависит от внутреннего состояния контракта в момент выполнения. Используйте triggerConstantContract для имитации точной стоимости перед покупкой energy. MERX предоставляет доступ к этому через инструмент estimate_contract_call и конечную точку /api/v1/estimate.

Затраты Bandwidth

Bandwidth проще, чем energy. Каждая транзакция потребляет bandwidth пропорционально размеру её сериализованных байтов. Формула:

bandwidth_consumed = transaction_size_bytes

Типичные затраты bandwidth:

Simple TRX transfer:                    ~270 bandwidth
TRC-20 transfer:                        ~345 bandwidth
DEX swap:                               ~400 - 600 bandwidth
Contract deployment:                    ~1,000 - 10,000 bandwidth

Бесплатное пособие

Каждый адрес TRON получает 600 бесплатных пунктов bandwidth в день, пополняемых в полночь UTC. Этого достаточно для 1-2 простых переводов TRX в день, но недостаточно для взаимодействия с контрактами.

Если ваш bandwidth исчерпан, сеть сжигает TRX с вашего счёта для покрытия стоимости. Текущая скорость сжигания составляет 1,000 SUN (0.001 TRX) за пункт bandwidth. Для перевода USDT из 345 bandwidth это 0.345 TRX, сожженных за bandwidth — относительно мало по сравнению с затратами energy, но накапливается при больших объёмах.

Стейкинг Bandwidth

Вы можете зафиксировать TRX для получения bandwidth так же, как для energy. Соотношение bandwidth-на-TRX зависит от общего сетевого стейка для bandwidth:

your_bandwidth = (your_staked_trx / total_network_bandwidth_stake) * total_bandwidth_limit

Стейкинг bandwidth обсуждается реже, потому что:

  1. Бесплатное дневное пособие из 600 пунктов покрывает лёгкое использование
  2. Затраты bandwidth малы относительно затрат energy
  3. Большинство разработчиков сначала фокусируются на оптимизации energy

Для высокопроизводительных приложений, обрабатывающих сотни транзакций ежедневно, стейкинг bandwidth может сэкономить значительные суммы. Но оптимизация energy всегда должна быть на первом месте.

Коэффициенты стейкинга

Стейкинг TRX — это первичный метод получения ресурсов. Вы блокируете TRX в Stake 2.0 и получаете energy или bandwidth взамен.

Коэффициент стейкинга Energy

Energy, который вы получаете от стейкинга, зависит от двух факторов: сколько TRX вы зафиксировали и сколько TRX весь сетевой зафиксировал для energy.

your_energy = (your_staked_trx / total_network_energy_stake) * total_energy_limit

По состоянию на начало 2026 года приблизительное соотношение составляет:

Total network energy limit:     ~90,000,000,000 energy/day
Total network energy stake:     ~50,000,000,000 TRX

Energy per TRX staked:          ~1.8 energy/day per TRX staked

Чтобы покрыть один перевод USDT (65,000 energy), вам нужно было бы зафиксировать примерно:

65,000 / 1.8 = ~36,111 TRX staked

При текущих ценах TRX это значительное обязательство в капитале — и вы получаете энергии для одного перевода USDT в день. Вот почему существует рынок аренды: аренда energy намного эффективнее по капиталу, чем стейкинг.

Парадокс стейкинга

Стейкинг имеет нулевую предельную стоимость (вы получаете свой TRX обратно, когда отменяете стейкинг после 14-дневного периода ожидания), но альтернативная стоимость реальна. TRX, который вы зафиксировали, не может быть использован для торговли, кредитования или других деятельности, генерирующей доход. Для большинства разработчиков и предприятий аренда energy с рынка более рентабельна, чем блокировка капитала, необходимого для самостейкинга.

Точка безубыточности зависит от вашей ежедневной потребности в energy:

Анализ безубыточности (приблизительный):

  Daily energy need:    65,000 (one USDT transfer)
  Rental cost:          ~1.5 TRX/day
  Staking required:     ~36,111 TRX
  TRX annual yield:     ~4% (staking rewards)
  Opportunity cost:     ~36,111 * 0.04 / 365 = ~3.96 TRX/day

  Verdict: Renting is cheaper (1.5 < 3.96 TRX/day)

  Daily energy need:    6,500,000 (100 USDT transfers)
  Rental cost:          ~150 TRX/day
  Staking required:     ~3,611,111 TRX
  Opportunity cost:     ~3,611,111 * 0.04 / 365 = ~395 TRX/day

  Verdict: Renting is still cheaper (150 < 395 TRX/day)

Для большинства случаев использования аренда побеждает по чистой экономике. Стейкинг имеет смысл, когда вам нужна гарантированная доступность ресурсов независимо от условий рынка, или когда вы валидатор, который стейкит для целей управления и рассматривает energy как побочный продукт.

Скорости сжигания: что происходит без ресурсов

Если вы выполняете транзакцию без достаточного energy или bandwidth, TRON не отклоняет транзакцию. Вместо этого он сжигает TRX с вашего счёта для покрытия дефицита.

Скорость сжигания Energy

1 energy unit = 420 SUN burned (0.00042 TRX)

Для перевода USDT из 65,000 energy без какого-либо energy:

65,000 * 420 = 27,300,000 SUN = 27.3 TRX burned

Сравните это с арендой 65,000 energy через MERX по 28 SUN за единицу:

65,000 * 28 = 1,820,000 SUN = 1.82 TRX rental cost

Экономия: 27.3 - 1.82 = 25.48 TRX сэкономлено, или снижение на 93%. Вот почему существует рынок аренды energy и почему это важно.

Скорость сжигания Bandwidth

1 bandwidth point = 1,000 SUN burned (0.001 TRX)

Для перевода USDT из 345 bandwidth:

345 * 1,000 = 345,000 SUN = 0.345 TRX burned

Частичное покрытие

Если у вас есть некоторое energy, но недостаточно, TRON сначала использует доступный energy и сжигает TRX для остатка:

Energy needed:      65,000
Energy available:   40,000
Energy deficit:     25,000
TRX burned:         25,000 * 420 = 10,500,000 SUN = 10.5 TRX

Вот почему точная оценка energy важна. Покупка 40,000 energy, когда вам нужно 65,000, тратит стоимость аренды и всё ещё приводит к значительному сжиганию TRX.

Обзор рынка аренды

Рынок аренды energy эволюционировал в структурированную экосистему с предсказуемыми паттернами.

Как работает аренда

Поставщики energy стейкят большие суммы TRX и накапливают energy. Затем они делегируют эту energy покупателям за плату. Делегирование — это операция в цепи: адрес поставщика делегирует указанную сумму energy адресу покупателя на указанный период.

Provider stakes 1,000,000 TRX
  -> Receives ~1,800,000 energy/day
  -> Delegates energy to buyers at market rates
  -> Collects rental fees
  -> TRX remains staked (principal preserved)

Варианты продолжительности

Большинство поставщиков предлагают несколько уровней продолжительности:

1 hour      Cheapest per-unit price, ideal for single transactions
1 day       Moderate pricing, good for daily batch operations
3 days      Volume discount begins
7 days      Significant discount for committed usage
14 days     Lowest per-unit rates
30 days     Best rates, requires confidence in demand

Оптимальная продолжительность зависит от вашей схемы использования. Если вы обрабатываете 10 переводов USDT в день, 24-часовая аренда 650,000 energy более рентабельна, чем десять отдельных часовых аренд по 65,000 energy каждая.

Обнаружение цены

Цены на energy колеблются в зависимости от предложения и спроса. Типичные диапазоны цен по состоянию на начало 2026 года:

1-hour rental:      25 - 40 SUN per energy unit
1-day rental:       20 - 35 SUN per energy unit
7-day rental:       15 - 30 SUN per energy unit
30-day rental:      10 - 25 SUN per energy unit

Цены самые низкие в часы низкого спроса (примерно 00:00-08:00 UTC) и самые высокие в период пиковых транзакций. Монитор цен MERX фиксирует эти колебания у всех поставщиков каждые 30 секунд.

Фреймворк решений: выбор вашей стратегии ресурсов

Низкий объём (1-10 транзакций в день)

Рекомендуемая стратегия: аренда за транзакцию через MERX

При низком объёме самый простой подход — покупать energy для каждой транзакции по мере необходимости. Накладные расходы на стейкинг или поддержание длительных аренд не оправданы.

import { MerxClient } from 'merx-sdk';

const merx = new MerxClient({ apiKey: process.env.MERX_API_KEY });

// Before each USDT transfer, buy exactly the energy you need
const estimate = await merx.estimateContractCall({
  contract_address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
  function_selector: 'transfer(address,uint256)',
  parameter: encodedParams,
  owner_address: senderAddress
});

const order = await merx.createOrder({
  energy_amount: estimate.energy_required,
  target_address: senderAddress,
  duration: '1h'
});

Средний объём (10-100 транзакций в день)

Рекомендуемая стратегия: дневная аренда energy с буфером

Покупайте 24-часовую аренду energy, рассчитанную на ожидаемый ежедневный объём плюс буфер в 20%. Это даёт вам более низкую цену за единицу, чем часовые аренды, и избегает накладных расходов на покупку за транзакцию.

Daily USDT transfers:     50
Energy per transfer:      65,000
Daily energy need:        3,250,000
With 20% buffer:          3,900,000
Duration:                 24 hours

Высокий объём (100+ транзакций в день)

Рекомендуемая стратегия: недельная или месячная аренда с постоянными заказами

При высоком объёме более длительные периоды предлагают лучшую цену за единицу. Используйте постоянные заказы MERX для автоматической покупки energy, когда цены упадут ниже вашего порога:

// Standing order: auto-buy when price drops below 25 SUN
await merx.createStandingOrder({
  energy_amount: 30000000,
  duration: '7d',
  max_price_sun: 25,
  target_address: operationalAddress
});

Предприятие / инфраструктура

Рекомендуемая стратегия: гибридный стейкинг + аренда

Для операторов инфраструктуры, обрабатывающих тысячи транзакций ежедневно, комбинация самостейкинга (для базовой ёмкости) и рыночной аренды (для пиковой ёмкости) обеспечивает лучшую экономику и надёжность:

Baseline (staked):    Cover 60% of average daily energy need
Burst (rented):       Cover remaining 40% + spikes via MERX

Это гарантирует доступность ресурсов даже во время нарушений на рынке, сохраняя при этом разумную эффективность капитала.

Мониторинг и оптимизация

Какую бы стратегию вы ни выбрали, мониторьте ваше фактическое потребление energy в сравнении с вашими оценками. MERX предоставляет инструменты для этого:

Модель ресурсов TRON вознаграждает разработчиков, которые её понимают. Затраты на energy определяют экономику транзакций, и разница между сжиганием TRX на уровне протокола и арендой energy по рыночным ставкам постоянно составляет 90% или больше. Будь то аренда за транзакцию, покупка дневных блоков или самостейкинг, ключ заключается в том, чтобы никогда не допустить, чтобы транзакция сожгла TRX, который мог бы быть покрыт арендованной energy.

Полная документация: https://merx.exchange/docs

Платформа: https://merx.exchange

MCP сервер: https://github.com/Hovsteder/merx-mcp

Попробуйте сейчас с AI

Добавьте MERX в Claude Desktop или любого MCP-совместимого клиента — без установки, без ключа API для инструментов только для чтения:

{
  "mcpServers": {
    "merx": {
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}

Попросите вашего AI агента: "What is the cheapest TRON energy right now?" и получите живые цены от всех подключённых поставщиков.

Полная документация MCP: merx.exchange/docs/tools/mcp-server


All Articles