跳转到主要内容

每秒限制

每个调用都属于三个类别之一。它会消耗您的配额以及所属类别的每秒限制: 具体数值取决于套餐——参见套餐与计费。限制属于套餐,由套餐下的所有端点共享。 每个限制最多容纳一秒的量。例如在 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:修正请求;原样重复只会得到相同的响应。