跳转到主要内容

什么是 WU

WU 是 Node API 的用量单位。您套餐的配额及其读取限制都以 WU 计。一次调用消耗的 WU 取决于节点响应的大小:节点返回的数据越多,它做的工作就越多。 大多数调用——账户、账户资源、合约调用、构建或广播交易——消耗 1 WU。 每个已应答的调用都会告诉您它的费用:HTTP 下为 X-Node-API-WU 响应头,gRPC 下为 x-node-api-wu 尾部元数据。控制台按天显示您的用量。

公式

  • KB——节点响应的大小,以千字节计(字节数 ÷ 1024),按压缩前计算。gzip 节省的是流量,而不是 WU。
  • round——四舍五入到最接近的整数;正好一半时向上取整。
  • factor——系数,取决于调用的类型:
同样的规则适用于 /walletsolidity/* 和 gRPC;在 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,30 天约 2.6M WU。
  • 通过节点构建并广播一笔 USDT 转账为 2 WU。
  • 读取旧区块是开销较大的部分:一个 600–800 KB 的旧区块为 13–17 WU。
配额按 WU 消耗;每秒限制按调用类别分别计数——每秒读取 WU、每秒区块请求数、每秒广播数。参见限制与错误,以及套餐与计费中各套餐的具体数值。