getEpochInfo
RPC 方法返回有关当前 epoch 的信息。这对于了解网络的当前状态、网络在当前 epoch 中的进展程度以及下一个 epoch 可能何时开始非常有用。要更好地理解 epochs、slots 和 blocks 在 Solana 上如何协同工作,请参阅我们的详细文章。
常见用例
- 监控 Epoch 进度: 跟踪 epoch 中的当前 slot 索引和 epoch 中的总 slots 以估算剩余时间。
- 网络状态分析: 获取当前 epoch 编号、区块高度以及当前 epoch 中处理的交易数量。
- 同步检查: 通过比较节点的 epoch 信息来验证其是否与网络合理同步。
请求参数
getEpochInfo
方法可以选择性地接受一个包含以下参数的配置对象:
commitment
(字符串,可选):指定查询账本时使用的承诺级别。finalized
:节点将查询由集群的绝大多数确认已达到最大锁定的最新区块。confirmed
:节点将查询由集群的绝大多数投票的最新区块。processed
:节点将查询其最新的区块。请注意,该区块可能不完整。- 如果未提供,默认承诺为
finalized
。
minContextSlot
(数字,可选):请求可以评估的最小 slot。这可以用于确保响应来自足够新的状态。
响应结构
JSON-RPC 响应的result
字段将是一个包含以下字段的对象:
absoluteSlot
(u64): 当前的绝对槽号。blockHeight
(u64): 当前区块高度。epoch
(u64): 当前纪元号。slotIndex
(u64): 当前槽相对于当前纪元开始的相对位置。slotsInEpoch
(u64): 当前纪元中的总槽数。transactionCount
(u64 | null): 当前纪元中处理的交易总数。如果数据不可用,可以是null
。
示例
1. 获取当前纪元信息(无参数)
此示例使用默认承诺获取有关当前纪元的信息。2. 使用“confirmed”承诺获取当前纪元信息
此示例使用confirmed
承诺获取纪元信息。
开发者提示
- 承诺级别: 选择
commitment
会影响数据的及时性和最终性。processed
是最快但最不安全的,而finalized
是最安全但可能稍有延迟。了解更多关于 承诺级别 的详细信息。 transactionCount
可用性: 如果节点没有此信息或未针对特定承诺级别进行跟踪,transactionCount
字段可能是null
。- 纪元长度:
slotsInEpoch
的数量可能会有所不同。您可以使用getEpochSchedule
获取有关纪元计划的更多详细信息。
getEpochInfo
RPC 方法在 Solana 网络上检索当前纪元详细信息的必要信息。