# NodeReal 持仓少了几项：检查主网、十六进制分页与 CU 错误

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

对照 nr_getTokenHoldings 的既有记录，把漏页、错误网络、字段缺失与额度拒绝分开，不用持仓数量代替资产价值。

## 使用工具
- [NodeReal MegaNode](https://lianxiaozhi.com/tools/nodereal) · [官方入口](https://nodereal.io/)

## 前置条件
- 准备 BNB Chain 或 Ethereum 主网的公开账户地址、既有请求/响应、HTTP 状态及时间；endpoint 中的 key 已遮盖。
- 准备分页列表和已取得的 CU/套餐记录；没有实际响应时，可按下列字段整理待补清单，不把文档示例当钱包持仓。

## 1. 核对链、主网与增强方法

查看脱敏 URL 的主机与路径：本方法限 bsc-mainnet 或 eth-mainnet 对应 MegaNode 的 /v1/<key>，不是 testnet、opBNB 或合作方接口。同一 0x 地址可出现在不同网络，先把地址、链与主网标记一起保存。nr_getTokenHoldings 是厂商增强方法，普通节点支持 eth_getBalance 不代表也支持它。

核对结果：链、主网、公开地址和增强方法一致；其他网络明确标为不在已确认范围。
依据：[NodeReal：链网络入口与公共 key 限额](https://docs.nodereal.io/reference/getting-started-with-your-api.md)
依据：[NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)

## 2. 检查请求中的页码和页大小

对照请求 method=nr_getTokenHoldings，params 顺序为账户地址、Page、PageSize。后两者按文档是十六进制字符串，pageSize 不超过十进制 100；官方示例的 0x12 是十进制 18，不是 12。保存实际页码与页大小，避免客户端把十进制文本当 hex；首次页码可参照文档示例 0x1，但旧调用是否从此开始须看自己的完整记录。

核对结果：参数顺序和编码正确，页大小已转换成十进制用于盘点，未把缺页伪装成空页。
依据：[NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)

## 3. 先读错误正文，再统计成功页面

逐页保存 HTTP 状态、id、error.code/message 与 result。即使 HTTP 200，也须确认 JSON-RPC 没有业务 error；文档示例请求 id 为数字而响应例写字符串，复核时应记录原类型并按规范匹配，不能悄悄忽略差异。-32005 可表示月 CU、瞬时 CUPS 或其他限制，需按 message 分类；Unauthorized 和 IP 白名单问题另列，失败页不填零。

核对结果：每页有成功、失败或缺记录状态，ID 原值可追溯，额度与认证错误分别记录。
依据：[JSON-RPC 2.0：响应、错误与请求 ID](https://www.jsonrpc.org/specification)
依据：[NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)
依据：[NodeReal：认证、白名单、方法与额度错误](https://docs.nodereal.io/docs/support)
依据：[NodeReal：方法 CU 与失败计费](https://docs.nodereal.io/docs/compute-units-cus.md)
依据：[NodeReal：CUPS 与瞬时容量](https://docs.nodereal.io/docs/cups-rate-limit)

## 4. 盘点 totalCount 与实际收齐的资产

将 result.totalCount 从 hex 转成整数，按实际页码整理 details，使用网络加 tokenAddress 去重。同一 symbol 不等于同一资产；nr_getTokenHoldingCount 返回的是持仓条目数量，不是所有代币数量之和。若页面间 totalCount 变化、重复或数量对不上，保留读取时间与缺页，不能认定当前账户已完整收齐；已读文档没有提供固定快照或索引延迟保证。

核对结果：已取得条目数、totalCount、重复项和缺页分开，资产身份由网络与合约定位。
依据：[NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)
依据：[NodeReal：持仓数量的十六进制结果](https://docs.nodereal.io/reference/nr_gettokenholdingcount)

## 5. 按真实字段核对余额，不补缺失值

方法页把精度字段写作 tokenDecimails，示例精度与 tokenBalance 为 hex。按原响应字段和编码，用整数及精度换算，避免浮点数截断；若 SDK 返回字段不同，先核对其版本映射。nativeTokenBalance 在说明中出现却在示例中缺失，缺失应写未取得。增强代币列表、原生币余额、价格和到账最终性各需自己的证据。

核对结果：保留合约、原始余额和精度；缺字段与明确零值不同，未从示例推断真实资产。
依据：[NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)
依据：[NodeReal：持仓数量的十六进制结果](https://docs.nodereal.io/reference/nr_gettokenholdingcount)

## 6. 区分用量限制与链上费用

检查现有账户总 CU、瞬时 CUPS 及实际分页次数；所有私人 key 的月用量汇总，换 key 不会自动重置账户总量。当前表中 Holdings 为 300 CU、HoldingCount 为 50 CU，错误参数仍可能按方法权重扣量；公共示例 key 另按 IP/分钟限制，不能套用私人 CUPS。只输出待补页和有边界的后续读取计划，CU 用量不是 BNB/ETH Gas。

核对结果：报告含完整页清单、字段疑点和限额归属；没有额度记录的部分保持待核。
依据：[NodeReal：方法 CU 与失败计费](https://docs.nodereal.io/docs/compute-units-cus.md)
依据：[NodeReal：CUPS 与瞬时容量](https://docs.nodereal.io/docs/cups-rate-limit)
依据：[NodeReal：链网络入口与公共 key 限额](https://docs.nodereal.io/reference/getting-started-with-your-api.md)

## 常见错误
- 当前可读方法页部分约一年前更新，示例的 ID 类型和字段拼写需按实际 SDK/原响应复核。
- 收到任何一页成功响应，不代表所有持仓页面和索引状态完整。
- 把 -32005 一律解释成每秒请求过多，会漏掉月 CU 耗尽或批次限制。

## 完成检查
- 形成可追溯的链/地址/分页清单，条目数量、代币余额、原生余额与未知字段分开。
- 本教程为官方文档核验，未创建 key、调用账户或公共示例端点，未验证真实钱包持仓。

## 相关知识
- [如何核对 Meme 币？先确认链、合约地址和交易池](https://lianxiaozhi.com/learn/meme-token-identity)
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)

## 官方依据
- [NodeReal：链网络入口与公共 key 限额](https://docs.nodereal.io/reference/getting-started-with-your-api.md)
- [NodeReal：持仓分页与余额字段](https://docs.nodereal.io/reference/nr_gettokenholdings)
- [NodeReal：持仓数量的十六进制结果](https://docs.nodereal.io/reference/nr_gettokenholdingcount)
- [NodeReal：方法 CU 与失败计费](https://docs.nodereal.io/docs/compute-units-cus.md)
- [NodeReal：CUPS 与瞬时容量](https://docs.nodereal.io/docs/cups-rate-limit)
- [NodeReal：认证、白名单、方法与额度错误](https://docs.nodereal.io/docs/support)
- [JSON-RPC 2.0：响应、错误与请求 ID](https://www.jsonrpc.org/specification)
