什么是 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。
{"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。