什么是 nonce 窗口?

上次更新时间: 2025年3月31日

生成新的 API 密钥时,其中一个可选设置是 nonce 窗口。

Nonce 窗口是一个短时间范围(1 秒、10 秒等),在此期间,带有无效nonce的 API 请求,特别是 nonce 值低于先前使用的 nonce 值时,不会导致无效 nonce 错误 (EAPI:Invalid nonce)。

Nonce 窗口的目的是克服由网络不一致(例如,由于网络延迟,API 请求到达顺序与发送顺序不同)引起的 nonce 错误。

在大多数情况下,nonce 窗口设置应保持其默认值 0(零),但如果由于网络问题收到无效 nonce 错误,nonce 窗口设置可能会有所帮助。

nonce 窗口的适当设置取决于所需的时间量和 nonce 本身的解析度。

基于当前 UNIX 毫秒时间(一种流行且有效的 nonce 选择)的 nonce 示例包括:

  • nonce 窗口设置为 5000,允许 5 秒的 nonce 窗口,

  • nonce 窗口设置为 8000,允许 8 秒的 nonce 窗口,

  • 或 nonce 窗口设置为 500,允许 0.5 秒的 nonce 窗口。

基于简单递增计数器(1、2、3 等,尽管不推荐)的 nonce 示例包括:

  • nonce 窗口设置为 30,允许 10 秒的 nonce 窗口,最大 API 调用速率为每秒 3 次调用,

  • nonce 窗口设置为 50,允许 5 秒的 nonce 窗口,最大 API 调用速率为每秒 10 次调用,

  • 或 nonce 窗口设置为 5,允许 5 秒的 nonce 窗口,最大 API 调用速率为每秒 1 次调用。

需要更多帮助吗?