常见用例
- 预测 Epoch 边界: 确定一个 epoch 中的插槽数量,以估算当前 epoch 何时结束以及下一个何时开始。
- 领导者调度计算: 了解
leaderScheduleSlotOffset以了解为即将到来的 epoch 提前多长时间生成领导者调度。 - 分析网络初始化: 观察
warmup,firstNormalEpoch和firstNormalSlot以了解集群 epoch 长度的初始增温阶段(如果适用)。 - 构建网络监控工具: 使用此信息准确显示 epoch 的时序和进展。
请求参数
此方法不接受任何参数。响应结构
JSON-RPC 响应的result 字段将是一个包含以下字段的对象:
slotsPerEpoch(u64):每个 epoch 中的最大插槽数量(如果有增温期,则在增温期后)。leaderScheduleSlotOffset(u64):生成该 epoch 的领导者调度的 epoch 开始前的插槽数量。warmup(boolean):布尔值,指示集群是否有增温期,其中 epoch 开始时较短并逐渐增加长度。firstNormalEpoch(u64):具有完整slotsPerEpoch长度的第一个 epoch 编号。如果warmup为真,则此项相关。firstNormalSlot(u64):firstNormalEpoch中第一个插槽的插槽索引。如果warmup为真,则此项相关。
示例
1. 获取集群的 Epoch 计划
此示例获取 epoch 计划。开发者提示
- 静态信息: epoch 计划由集群的创世配置确定,通常不会改变,除非有重大网络升级或具有不同参数的新集群启动。
- Mainnet 与 Testnet/Devnet: epoch 计划,特别是
slotsPerEpoch和 warmup 参数,在 Mainnet Beta、Testnet 和 Devnet 之间可能有很大差异。始终查询您感兴趣的特定集群。 - 热身期: 如果
warmup为true,则在firstNormalEpoch之前的 epoch 将有比slotsPerEpoch更少的插槽。热身 epoch 长度的精确计算是2^N * MINIMUM_SLOTS_PER_EPOCH,其中 N 是 epoch 编号(从 0 开始),直到达到firstNormalEpoch。MINIMUM_SLOTS_PER_EPOCH通常是 32。
getEpochSchedule RPC 方法所需的信息,以了解 Solana 集群中 epoch 的基本时间和结构。