跳到正文
← 使用教程

De.Fi 排查已有 GraphQL 组合记录:链编号、V1/V2 与漏仓位

链小知 · 进阶 · 核验 · 依官方文档整理

用已有脱敏请求和响应核对内部 chain_id、地址与协议版本,避免把 HTTP 成功或 V2 无记录误判为全部仓位为零。

开始前准备

  • 准备有权分析的已有 GraphQL 请求与 JSON 响应,包含请求时间、查询文本、HTTP 状态和脱敏地址标签;去掉 X-Api-Key 值。
  • 最好同时有 chains 与 protocols 响应及账户额度说明。缺少响应可以按文档结构逐字段盘点,但不调用接口、申请 key 或补跑付费查询。

1. 确认入口和查询类型

核对记录目的地是否为 https://public-api.de.fi/graphql,以及查询使用 assetBalances、assetBalancesAdvanced、protocolBalance 或 protocolBalanceV2 中哪一种。钱包持币与协议仓位是不同查询范围。

业务认证要求 X-Api-Key 且预购 credits;复核只保留是否存在认证配置,不复制 key。缺认证或额度的失败不能作为钱包数据。

检查结果:记录包含 endpoint、查询名称和认证配置是否存在,秘密值已移除。

2. 用 chains 记录映射内部编号

在已有 chains { id name } 结果中核对请求里的 chainIds。官方明确内部1对应 Ethereum、2对应 BNB、3对应 Polygon,而非 BNB Chain 的实际56或 Polygon 的137。

保存内部编号与网络名称映射。不要把内部2理解为某条链的测试网 Chain ID,也不要用其它供应商链编号直接替换。缺 chains 响应时只保留文档例子作为待核映射。

检查结果:内部编号与目标网络有对应证据,实际 Chain ID 和供应商内部 ID 分列。

3. 核对地址数与资产查询覆盖

assetBalancesAdvanced 的示例用 chainIds、walletAddresses,并返回 total、wallet、chains.chain.id;按地址标签与链拆开检查,不能把一个地址的结果套到整个组合。

此接口为 BETA。文档先将 assetBalances 描述为 ERC20,后又给出非 EVM 场景说明;遇到非 EVM 记录需保留具体 schema/请求证据,不从概述推断所有非 EVM 参数都已支持。

检查结果:目标地址与链都有记录,未因汇总 total 非空就认定组合成员全部覆盖。

4. 核对协议版本与部分错误

查看已有 protocols(version: V2) 或 V1 响应,确认目标协议 slug 在对应版本里。V2 面向 TOP EVM 平台,其余含非 EVM 平台使用 V1 及逐链、地址、协议组合的 protocolBalance。

protocolBalanceV2 示例分别返回 errors 与 balances。保留 errors,并按 balances.protocol.slug、address、total 对照目标;有部分结果不能掩盖另一协议报错,也不能将缺失项补成0。

检查结果:每个目标协议有版本与结果对应,部分错误和未覆盖仓位单列。

5. 检查方法对应的 credits 和限制

用请求实际方法核对公开价目:assetBalances、protocolBalance 各10 credits、20次/分钟;chains、protocols 各1 credit、100次/分钟。复杂查询可能消耗更多 credits。

价格表没有独立列出 BETA advanced/V2 的费率,不能将10 credits/20次限制直接移植。API 表保留已 deprecated 的 shields 行,也不等于所有方法都退役或免费。

检查结果:额度说明对应实际方法;未报价的 BETA 项明确未知,没有为了验证而追加收费请求。

6. 形成可复查的漏仓位说明

整理地址标签、内部链编号、协议 slug、V1/V2、成功结果、errors、时间和缺项。仅在数据完整且无相应错误时解读返回 total;如果缺链、协议或成员,写出具体缺口。

HTTP 状态只说明传输层结果,不能替代查询数据、版本覆盖与索引时点。没有资料时止于待核清单,不触发新查询或连接钱包。

检查结果:得到可定位到查询和协议的排查清单,不将缺记录、错误或未知版本记为零持仓。

怎样确认完成

  • 逐条说明已有查询覆盖的地址、链和协议版本,保留错误及缺失证据。
  • 验证级别为文档核对;未调用认证服务、验证额度扣费或确认真实账户资产。

常见错误与边界

  • 用56/137直接填入要求内部编号的 chainIds。
  • V2 未覆盖某协议,却把 balances 没条目解释为无仓位。
  • 只看 total 忽略 errors、多个成员或非 EVM schema 限制。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据