SUN, TRX, Energy, Bandwidth: все единицы TRON
Если вы когда-либо пытались разрабатывать на TRON или просто отправлять USDT, вы наверняка сталкивались с множеством запутанных единиц: TRX, SUN, energy, bandwidth, замороженный баланс, стейкинговые ресурсы. Документация разбрасывает эти концепции по десяткам страниц, а большинство руководств опускают различия, которые действительно важны при написании продакшн-кода или расчете затрат.
Эта статья - справочное руководство, которое я хотел бы иметь, когда начинал работу с TRON. Мы рассмотрим каждую единицу в экосистеме TRON, их взаимосвязи и приведем конкретные примеры конвертации, которые можно использовать немедленно.
TRX: базовая валюта
TRX (Tronix) - это нативная криптовалюта блокчейна TRON. Она выполняет ту же роль, что ETH в Ethereum - является единицей учета, средством оплаты комиссий за транзакции и активом, который вы стейкаете для получения сетевых ресурсов.
На начало 2026 года TRX торгуется в диапазоне $0.20-$0.30, хотя курс колеблется. Что не меняется - это его роль в ресурсной модели: каждая операция в TRON в конечном счете связана с TRX, будь то прямые расходы (сжигание) или блокировка (стейкинг).
Ключевые факты о TRX:
- Общее предложение ограничено и является дефляционным благодаря механизмам сжигания.
- TRX можно отправлять, стейкать или сжигать.
- Минимальная делимая единица - 1 SUN (подробнее ниже).
- Все комиссии в сети номинированы в TRX или его субъединицах.
SUN: наименьшая единица
SUN для TRX - то же, что wei для ETH или satoshi для BTC. Это наименьшая неделимая единица валюты TRON.
1 TRX = 1 000 000 SUN
Это не подлежит обсуждению, не является приблизительным и не зависит от рыночных условий. Это фиксированная конвертация, определенная на уровне протокола.
Почему SUN важен для разработчиков
Каждое серьезное приложение TRON работает с SUN внутренне. Причина проста: арифметика с плавающей запятой - враг финансового ПО. Когда вы представляете 1.5 TRX как 1500000 SUN, вы полностью исключаете ошибки округления. Целочисленная математика точна.
Рассмотрим пример:
// Неправильно - плавающая запятая
const amount = 1.1 + 0.2; // 1.3000000000000003
// Правильно - целые числа SUN
const amountSun = 1_100_000 + 200_000; // 1_300_000 (ровно 1.3 TRX)
В MERX каждый баланс, каждая запись в реестре, каждая ценовая котировка хранится и передается в SUN. Конвертация в TRX происходит только на уровне отображения, никогда в бизнес-логике.
Типичные конвертации
| TRX | SUN |
|---|---|
| 0.000001 | 1 |
| 0.01 | 10 000 |
| 1 | 1 000 000 |
| 100 | 100 000 000 |
| 1 000 | 1 000 000 000 |
| 36 000 | 36 000 000 000 |
Конвертация в коде
// TRX в SUN
function trxToSun(trx: number): bigint {
return BigInt(Math.round(trx * 1_000_000));
}
// SUN в TRX (только для отображения)
function sunToTrx(sun: bigint): string {
const trx = Number(sun) / 1_000_000;
return trx.toFixed(6);
}
Обратите внимание на использование BigInt для значений SUN. Стандартный JavaScript number может безопасно представлять целые числа до 2^53, что составляет примерно 9 квадриллионов SUN или 9 миллиардов TRX. Для большинства приложений этого достаточно, но BigInt исключает любой риск.
Energy: топливо для смарт-контрактов
Energy - это ресурс, потребляемый при выполнении смарт-контрактов на TRON. Каждая инструкция в виртуальной машине TRON (TVM) стоит определенное количество energy, аналогично тому, как работает gas в Ethereum.
Что потребляет energy
- Вызов любой функции смарт-контракта (включая переводы TRC-20 токенов, таких как USDT)
- Развертывание новых смарт-контрактов
- Любая операция, включающая вычисления в блокчейне
Что НЕ потребляет energy
- Простые переводы TRX (используют только bandwidth)
- Создание аккаунта
- Голосование за суперпредставителей
- Стейкинг и анстейкинг
Сколько energy стоит перевод USDT
Стандартный перевод USDT (TRC-20) стоит примерно 65 000 energy. Это самая распространенная операция в TRON, составляющая большинство всех вызовов смарт-контрактов в сети.
Точная стоимость может незначительно варьироваться в зависимости от состояния контракта - например, первый перевод на новый адрес может стоить дороже, поскольку создается новый слот хранения. Но 65 000 - это число, которое следует использовать для планирования.
Как получить energy
Существует ровно два способа получить energy:
1. Стейкинг TRX (Stake 2.0)
Вы блокируете TRX в контракте стейкинга и получаете energy пропорционально вашей доле относительно общего стейка сети. Формула:
your_energy = (your_staked_trx / total_network_staked_trx) * total_energy_pool
На начало 2026 года необходимо примерно 36 000 TRX в стейкинге для получения около 65 000 energy в день - достаточно для одного перевода USDT ежедневно. Точное соотношение колеблется по мере изменения общего стейка сети.
Важно: energy от стейкинга восстанавливается в течение 24 часов. Если вы израсходуете всю energy сразу, потребуется полный день для восстановления. Energy от стейкинга нельзя накопить.
2. Аренда у провайдера (или агрегатора, такого как MERX)
Провайдер стейкает собственные TRX и делегирует полученную energy на ваш адрес за плату. Это модель оплаты за использование. Вы платите малую долю стоимости TRX без блокировки капитала.
Типичные цены аренды в начале 2026 года составляют от 80 до 120 SUN за единицу energy, в зависимости от провайдера, длительности и объема.
Единицы energy
Energy безразмерна - это просто число. Субъединиц не существует. У вас либо есть 65 000 energy, либо нет. Она не номинирована в TRX или SUN; это самостоятельный ресурс.
Bandwidth: квота на данные транзакций
Bandwidth - это ресурс, потребляемый для передачи необработанных данных любой транзакции в TRON. Каждая транзакция, будь то простой перевод TRX или сложный вызов смарт-контракта, использует bandwidth пропорционально размеру в байтах.
Как измеряется bandwidth
Bandwidth измеряется в байтах. Типичная транзакция перевода TRX составляет примерно 250-300 байт. Перевод USDT (вызов смарт-контракта) - примерно 350-400 байт.
Бесплатная bandwidth
Каждый аккаунт TRON получает 600 бесплатных единиц bandwidth в день. Они восстанавливаются в течение 24 часов, аналогично energy. Для простых переводов TRX (примерно 270 байт каждый) это означает около двух бесплатных переводов в день.
Что происходит при исчерпании
Когда ваша bandwidth исчерпана, сеть сжигает TRX с вашего аккаунта для покрытия стоимости bandwidth. Курс сжигания колеблется, но обычно составляет несколько TRX максимум за стандартную транзакцию. Формула:
bandwidth_cost_trx = transaction_bytes * bandwidth_price_per_byte
Для большинства пользователей, совершающих редкие переводы, бесплатных 600 bandwidth достаточно. Для приложений с высоким объемом операций затраты на bandwidth становятся статьей расходов, которую стоит отслеживать.
Bandwidth и Energy: ключевое различие
Каждая транзакция использует bandwidth. Только транзакции со смарт-контрактами используют energy. Простой перевод TRX использует bandwidth, но ноль energy. Перевод USDT использует и bandwidth, и energy.
| Операция | Bandwidth | Energy |
|---|---|---|
| Перевод TRX | ~270 байт | 0 |
| Перевод USDT | ~350 байт | ~65 000 |
| Развертывание контракта | варьируется | варьируется |
| Голосование | ~270 байт | 0 |
Как все единицы связаны
Вот полная картина связей между единицами TRON:
TRX (валюта)
|
|-- 1 TRX = 1,000,000 SUN (субъединица)
|
|-- Стейкинг TRX --> Energy (топливо для смарт-контрактов)
| |
| |-- Измеряется в единицах (безразмерная)
| |-- ~65,000 необходимо для перевода USDT
| |-- Восстанавливается за 24 часа
|
|-- Стейкинг TRX --> Bandwidth (квота на данные)
| |
| |-- Измеряется в байтах
| |-- 600 бесплатно ежедневно на аккаунт
| |-- Используется ВСЕМИ транзакциями
|
|-- Сжигание TRX --> Прямая оплата bandwidth/energy
Ключевой вывод: стейкинг TRX дает возобновляемые ресурсы (восстанавливаются ежедневно), тогда как сжигание TRX - это разовый платеж. Для пользователей с высоким объемом стейкинг или аренда значительно дешевле сжигания.
Практический пример расчета стоимости
Рассмотрим конкретный сценарий: вам нужно отправлять 100 переводов USDT в день.
Вариант 1: сжигание всего
Каждый перевод USDT без energy стоит примерно 27-30 TRX в сожженных комиссиях (покрывая стоимость energy и bandwidth). Для 100 переводов:
100 переводов x 28 TRX = 2,800 TRX/день
При $0.25/TRX = $700/день = $21,000/месяц
Вариант 2: стейкинг TRX для energy
Вам нужно примерно 65 000 energy на перевод, то есть 6 500 000 energy в день. При текущих пропорциях стейкинга для этого требуется примерно 3 600 000 TRX в стейкинге (~$900 000 заблокированного капитала).
Очевидно непрактично для большинства пользователей.
Вариант 3: аренда energy через MERX
При цене аренды примерно 90 SUN за единицу energy:
65,000 energy x 90 SUN = 5,850,000 SUN = 5.85 TRX за перевод
100 переводов x 5.85 TRX = 585 TRX/день
При $0.25/TRX = $146.25/день = $4,388/месяц
Экономия по сравнению со сжиганием: примерно 80%.
Именно поэтому существует рынок аренды energy. Разница между стоимостью сжигания и аренды огромна и масштабируется линейно с объемом.
Единицы в MERX API
При работе с MERX API все значения следуют единообразным соглашениям:
{
"price_per_unit": 88000000,
"energy_amount": 65000,
"total_cost_sun": 5720000000,
"total_cost_trx": 5720.0
}
price_per_unit: цена в SUN за единицу energyenergy_amount: единицы energy (безразмерное целое число)total_cost_sun: общая стоимость в SUN (целое число)total_cost_trx: общая стоимость в TRX (для удобства отображения)
SDK обрабатывает конвертации:
import { MerxClient } from 'merx-sdk';
const client = new MerxClient({ apiKey: 'your-key' });
const prices = await client.getPrices({ energy: 65000 });
console.log(prices.bestPrice.perUnit); // SUN за единицу energy
console.log(prices.bestPrice.totalSun); // Итого в SUN
console.log(prices.bestPrice.totalTrx); // Итого в TRX
Полная документация SDK: https://merx.exchange/docs
Типичные ошибки
Ошибка 1: смешивание TRX и SUN в расчетах. Всегда выбирайте одну единицу и придерживайтесь ее. Внутренне используйте SUN. Конвертируйте в TRX только для отображения.
Ошибка 2: предположение, что energy оценивается в TRX. Цены аренды energy обычно указываются в SUN за единицу energy. Цена "88" обычно означает 88 SUN, а не 88 TRX. Ошибка на множитель 1 000 000 испортит вам день.
Ошибка 3: забыть о bandwidth. Даже при полном покрытии energy каждая транзакция все равно потребляет bandwidth. Для приложений с высоким объемом затраты на bandwidth накапливаются.
Ошибка 4: считать energy накопительной. Energy от стейкинга восстанавливается за 24 часа. Вы не можете сохранить energy от спокойных дней для использования в загруженные дни. Арендованная energy, однако, доступна немедленно на период аренды.
Ошибка 5: использование плавающей запятой для значений SUN. Используйте целые числа или BigInt. Всегда. Без исключений.
Итоги
Ресурсная модель TRON более нюансирована, чем у большинства блокчейнов, но она не сложна, если вы понимаете четыре ключевые концепции:
- TRX - это деньги.
- SUN - это наименьшая единица денег (1 TRX = 1 000 000 SUN).
- Energy - это топливо для смарт-контрактов, получаемое через стейкинг TRX или аренду.
- Bandwidth - это квота на данные транзакций, частично бесплатная, получаемая через стейкинг или сжигание.
Для разработчиков, создающих приложения на TRON, главный вывод: всегда работайте в SUN внутренне и рассматривайте energy как затрату, подлежащую оптимизации. Разница между сжиганием и арендой energy может составлять 5-10 раз по стоимости - именно поэтому существуют платформы вроде MERX.
Ознакомьтесь с текущими ценами на energy и начните экономить на операциях в TRON на https://merx.exchange.
Эта статья является частью серии материалов MERX об инфраструктуре TRON. MERX - первая биржа ресурсов блокчейна, агрегирующая всех основных провайдеров energy в единый API. Подробнее на https://merx.exchange.