Перейти к основному содержанию

Что такое WU

WU — единица учёта использования Node API. Квота вашего тарифа и его лимит чтения считаются в WU. Вызов стоит WU в зависимости от размера ответа ноды: чем больше данных возвращает нода, тем больше работы она выполнила. Большинство вызовов — аккаунт, его ресурсы, вызов контракта, построение или отправка транзакции — стоят 1 WU. Каждый вызов с ответом сообщает свою стоимость: в заголовке ответа X-Node-API-WU по HTTP и в завершающих метаданных x-node-api-wu по gRPC. В кабинете виден расход по дням.

Формула

  • KB — размер ответа ноды в килобайтах (байты ÷ 1024) до сжатия. gzip экономит трафик, а не WU.
  • round — округление до ближайшего целого; половины округляются вверх.
  • factor — коэффициент, зависит от вида вызова:
Те же правила действуют для /walletsolidity/* и для gRPC, где ответ измеряется в protobuf, а gRPC-аналоги этих методов (GetNowBlock2, GetBlockByNum2, GetBlock, …) считаются вызовами того же вида. С коэффициентом 1 ответы примерно до 34 KB стоят 1 WU.

Свежие блоки

Блок в пределах 20 от головы сети — примерно за последнюю минуту — стоит фиксированные 3 WU, а его квитанции — 2 WU, независимо от размера. Блок, который ещё не создан, стоит столько, сколько стоит его (пустой) ответ: 1 WU. Более старые блоки и их квитанции тарифицируются по формуле. Диапазоны (getblockbylimitnext, getblockbylatestnum) всегда тарифицируются по формуле, по всему ответу, и возвращают не больше 10 блоков за вызов.

Измеренные примеры

Что ничего не стоит

  • Отказы. Запрос, отклонённый с code ошибки (см. Лимиты и ошибки), не тарифицируется и не несёт X-Node-API-WU.
  • Метод, которого у ноды нет — 404 method_not_found с X-Node-API-WU: 0. Такой вызов всё равно учитывается в лимите в секунду, поэтому цикл с опечатками замедляется, а не оплачивается.
  • Нода не ответила — 502 node_error.
Ошибка, которую возвращает сама нода, — это ответ: java-tron сообщает о большинстве ошибок в JSON ({"Error": "…"}), часто со статусом 200, и они тарифицируются по размеру, как любой ответ, — минимум 1 WU.

Оценка расхода

  • Слежение за каждым блоком сети — заголовок (1 WU) плюс квитанции свежего блока (2 WU) — это 3 WU на блок: около 86 400 WU в сутки, или около 2.6 млн WU за 30 дней.
  • Перевод USDT, построенный и отправленный через ноду, — 2 WU.
  • Дороже всего чтение старых блоков: старый блок размером 600–800 KB — 13–17 WU.
Квота расходуется в WU; лимиты в секунду считаются по классам вызовов — WU чтения в секунду, блоковые запросы в секунду, отправки транзакций в секунду. См. Лимиты и ошибки и цифры для каждого тарифа в разделе Тарифы и оплата.