# BlockEden 的 Aptos 账本时间不对：核对链 ID、微秒与历史范围

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/blockeden-aptos-ledger-network-time-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

检查 GET /v1 的既有账本响应，分开主网身份、块高、账本版本、微秒时间、每秒速率和 UTC 日配额。

## 使用工具
- [BlockEden.xyz](https://lianxiaozhi.com/tools/blockeden) · [官方入口](https://blockeden.xyz/)

## 前置条件
- 准备既有 Aptos REST 账本响应、HTTP 状态、脱敏 URL、获取时间及可见响应头；URL 中的 access key 已遮盖。
- 准备预期网络与已有套餐/用量记录。没有真实响应则先列待补项，不把快速指南的旧示例当当前主网状态。

## 1. 确认 REST 入口和认证路径

核对已有 URL 对应 Aptos 产品：快速指南列 https://aptos-mainnet.blockeden.xyz/<access_key>/v1，读取账本使用 GET。key 在 URL 路径，分享日志须遮盖；不要把 Sui JSON-RPC 的 POST body 或 Aptos GraphQL 查询直接发到此 REST 路径。通用限流页另一主机格式不证明所有入口互换；实际项目配置与产品专页不一致时先记差异。

核对结果：记录具体主机、REST /v1、网络和认证位置。
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)
依据：[BlockEden：认证、RPS、日配额与错误](https://blockeden.xyz/docs/rate-limits/)

## 2. 以 chain_id 核对网络身份

读取成功正文里的 chain_id 并与预期网络比较：Aptos 官方 mainnet 为 1、testnet 为 2。BlockEden 主网指南却展示 chain_id=2，因此该示例不能作为主网身份证明。实际收到 2 应按测试网或错误配置调查；缺失 ID 不按主机名强行补 1。Devnet 的 ID 不固定，不能套固定主网规则。

核对结果：网络由实际 chain_id 和入口共同核对；示例冲突单独保存。
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)
依据：[Aptos 官方 Rust SDK：链 ID](https://aptos-labs.github.io/aptos-rust-sdk/aptos_sdk/types/struct.ChainId.html)

## 3. 分别保存块高、账本版本与 epoch

分别保留 ledger_version、block_height、epoch 与 node_role，不把数字最大的字段当块高。官方 LedgerInfo 将这些数值字段编码成字符串，version() 和 height() 分别解析 u64。使用十进制整数/BigInt 或等价整数处理，先检查字符串有效性；避免 Number 精度丢失后再把结果写回日志。缺字段保留未取得。

核对结果：版本、块高、epoch 三列各有原始字符串与独立解析结果。
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)
依据：[Aptos 官方 SDK：LedgerInfo 原始字段与单位](https://aptos-labs.github.io/aptos-rust-sdk/src/aptos_sdk/api/response.rs.html)

## 4. 将微秒时间转换成可比的 UTC 记录

ledger_timestamp 的官方单位是微秒，换毫秒需除以 1000，换秒需除以 1000000。先以整数做除法，再在日期范围可表示时转换显示时间；保留原值与舍去的精度。把账本 UTC 时间与记录获取 UTC 时间分开。两者差距可用于调查滞后，但未核对客户端时钟、缓存和同链参考值前，不直接宣布网络停摆。

核对结果：原始微秒、转换值、UTC 显示时间和实际获取时间分开。
依据：[Aptos 官方 SDK：LedgerInfo 原始字段与单位](https://aptos-labs.github.io/aptos-rust-sdk/src/aptos_sdk/api/response.rs.html)
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)

## 5. 先查保留边界，再解释旧数据查询失败

读取 oldest_ledger_version 和 oldest_block_height；需要按 version 查询的历史记录与按 height 查询的历史块，各对照自己的下界。若所需编号落在边界之前，记录该节点未证明覆盖该范围，不把它改成余额零或不存在。git_hash 只有实际返回时才记录；SDK 文档版本不是远端节点运行版本。

核对结果：所需版本/高度、可见最早边界和未覆盖范围对应。
依据：[Aptos 官方 SDK：LedgerInfo 原始字段与单位](https://aptos-labs.github.io/aptos-rust-sdk/src/aptos_sdk/api/response.rs.html)
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)

## 6. 把限流、认证与日额度拒绝分开

先保留 401/403/429 的状态与正文：官方限流页分别说明无效 key、IP block 与限制超出；429 既可能是速率，也可能是日 CU。X-RateLimit-Remaining 是当秒剩余请求，Reset 是 Unix 时间，不代表日 CU 余额。FREE 同时受 user/IP 1req/s 限制；其他档表写 per-key 而 FAQ 写同用户共享，不用轮换 key 规避限制。

核对结果：每条失败有认证/IP/速率/日额或未知原因，不把失败当旧账本。
依据：[BlockEden：认证、RPS、日配额与错误](https://blockeden.xyz/docs/rate-limits/)

## 7. 检查 UTC 日边界与方法计费口径

按官方日配额 midnight UTC 对齐用量日期，在中国标准时间通常对应上午 8 点；不要按本地零点重新计数。Aptos 商品页列 200 CUs/req，pricing FAQ 又写 REST 1 CU，计算前需核对具体产品和实际扣量；暂不按其中一页宣称免费请求总次数。只读 API 请求额度与发送交易产生的 APT Gas 分开。

核对结果：用量统计包含 UTC 日期、RPS 记录、具体产品与未解决 CU 差异。
依据：[BlockEden：认证、RPS、日配额与错误](https://blockeden.xyz/docs/rate-limits/)
依据：[BlockEden：套餐与 CU 说明](https://blockeden.xyz/pricing/)
依据：[BlockEden：Aptos API Marketplace](https://blockeden.xyz/api-marketplace/aptos)

## 8. 整理可复查的账本结论

汇总入口/chain_id、version/height、原始微秒/UTC、最早保留边界及失败类别。需要比较多次记录时，保留各自获取时间和缓存来源，不能拿旧示例的 2022 时间值比较当前节点新鲜度。若换用 Sui 数据面，需另核对迁移后的 provider 产品；Foundation 的 JSON-RPC 停用公告不能证明 BlockEden 私有端点状态。

核对结果：输出有时间和产品范围的检查表，未知认证、保留范围或接口状态明确列出。
依据：[BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)
依据：[Aptos 官方 SDK：LedgerInfo 原始字段与单位](https://aptos-labs.github.io/aptos-rust-sdk/src/aptos_sdk/api/response.rs.html)
依据：[BlockEden：Sui 旧 JSON-RPC 入口](https://blockeden.xyz/docs/sui/)
依据：[Sui 官方：JSON-RPC 已停用与迁移范围](https://docs.sui.io/references/sui-api)

## 常见错误
- mainnet 文档出现 chain_id=2 是示例矛盾，不是主网 ID 已变更的证据。
- 账本时间微秒、浏览器 Date 毫秒、限流重置 Unix 秒和 UTC 日额度属于不同时间口径。
- REST/GraphQL 与 Sui JSON-RPC 的认证入口、费用与迁移状态不能共用一套假设。

## 完成检查
- 可解释网络、时间换算、历史边界和限额疑点，未取得数据保持未知。
- 本教程为官方文档核验；未调用认证接口、访问账户或测试实际扣量，未验证端点实时服务状态。

## 相关知识
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)

## 官方依据
- [BlockEden：Aptos REST 入口与账本示例](https://blockeden.xyz/docs/aptos/)
- [Aptos 官方 Rust SDK：链 ID](https://aptos-labs.github.io/aptos-rust-sdk/aptos_sdk/types/struct.ChainId.html)
- [Aptos 官方 SDK：LedgerInfo 原始字段与单位](https://aptos-labs.github.io/aptos-rust-sdk/src/aptos_sdk/api/response.rs.html)
- [BlockEden：认证、RPS、日配额与错误](https://blockeden.xyz/docs/rate-limits/)
- [BlockEden：套餐与 CU 说明](https://blockeden.xyz/pricing/)
- [BlockEden：Aptos API Marketplace](https://blockeden.xyz/api-marketplace/aptos)
- [BlockEden：Sui 旧 JSON-RPC 入口](https://blockeden.xyz/docs/sui/)
- [Sui 官方：JSON-RPC 已停用与迁移范围](https://docs.sui.io/references/sui-api)
