每秒限制
每个调用都属于三个类别之一。它会消耗您的配额以及所属类别的每秒限制:
具体数值取决于套餐——参见套餐与计费。限制属于套餐,由套餐下的所有端点共享。
每个限制最多容纳一秒的量。例如在 30 WU/s 下,最多 30 WU 可以同时通过,之后限制以每秒 30 WU 的速度恢复。
只要读取限制还有剩余空间,读取请求就会被放行,其费用在响应之后扣除:一次重型读取可能把限制推到零以下,后续读取需等待限制恢复。区块区间每次调用最多返回 10 个区块。
错误格式
拒绝是一个 JSON,Error 中为消息,另有机器可读的 code:
code;消息可能会变化。拒绝总是带有 code。节点自身的错误则没有:java-tron 返回不带 code 的 {"Error": "…"},状态码通常为 200,这种响应与其他响应一样计费——参见配额单位。
拒绝不计费,也不带 X-Node-API-WU;method_not_found 例外,它带有 X-Node-API-WU: 0。429 和 503 拒绝通常带有 Retry-After。
拒绝代码
通过 gRPC 时,相同的代码位于
x-node-api-reason 尾部元数据中,并以 gRPC 状态代替 HTTP 状态——参见 gRPC。
降级模式
当我们用于 Node API 的主节点不可用或落后于网络时,服务会在备用节点上继续运行。在此期间:- 已应答的调用带有
X-Node-API-Mode: degraded响应头(gRPC 下为尾部元数据x-node-api-mode: degraded); - 您以每秒 WU 计的读取限制减半;区块请求和广播限制保持不变;
- 新区块(距链头 20 个以内)及其回执照常提供,而旧区块、其回执和区块区间会以
503 degraded被拒绝; - 共享容量更小,因此更可能出现
503 capacity。
重试
429 rate_read、rate_block、rate_write、trials以及所有503:等待Retry-After中给出的秒数,然后重试。429 quota和429 overage_budget:等待无济于事。请充值余额或更换套餐。502 node_error:重试。重复发送同一笔已签名交易是安全的——网络对同一个交易 ID 只执行一次。- 其他
4xx:修正请求;原样重复只会得到相同的响应。