跳到正文
← 使用教程

Helius getAsset 排查:mint、代币字段与缺失价格

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

按当前 DAS 参考核对已有请求与返回,识别 SDK 选项差异,避免将缺失价格填成零或把缓存价当成交价。

开始前准备

  • 准备 Solana 代币的完整 mint、预期网络及已有 getAsset 脱敏请求/响应。
  • 标明使用原始 JSON-RPC 还是 helius-sdk,以及 SDK 版本;保存响应采样时间。

1. 核对 mint 与认证入口

普通代币的 id 应填 mint,而非钱包地址或某个 token account。核对已有 mainnet.helius-rpc.com 入口及 api-key 查询参数;分享记录时隐藏参数值。method 为 getAsset,params 是对象。认证错误应回到 key/权限排查,不把它当资产不存在。

检查结果:完整 mint、网络、方法和 params 类型明确,记录不含可用 key。

2. 按调用方式检查 showFungible

当前原始请求参考把选项列在 params.options,例如 params:{id:"<MINT>",options:{showFungible:true}};官方 helius-sdk 示例用 displayOptions:{showFungible:true}。先识别调用方式再对照对应版本,不把 SDK 对象原样抄为原始 HTTP 参数。若 token_info 不见,检查请求选项和实际版本后再判断。

检查结果:选项名与原始请求或 SDK 的使用方式一致,showFungible 已明确。

3. 读取身份、精度和供应量

对照 result.id 与预期 mint,再保存 interface、content.metadata 的名称/符号和 token_info 中的 decimals、supply、token_program。名称和符号不能独立确定资产身份;供应量须连同精度与原始字段保存,缺失字段保持缺失,不补成零。

检查结果:结果身份匹配,原始 supply、decimals 与 token program 可复查;缺失项有标记。

4. 把缓存价格与代币数据分开

检查 token_info.price_info.price_per_token 是否存在。官方参考说明价格缓存可达 600 秒且覆盖有限;未返回价格不等于代币价值为零。保存请求时间、价格字段原样与来源,无法确定缓存生成时间时注明价格可能较旧;不要用该价证明某笔成交、预言机报价或当前可交易价格。

检查结果:存在、缺失、读取错误三个状态分开,缓存边界随价格一起展示。

5. 分类错误与 DAS 配额

从已有响应区分无效参数、认证失败、权限不足、资产未找到和限流;具体 code/message 原样留存。DAS 每次按当前 FAQ 消耗 10 credits,并使用独立 DAS/Enhanced RPS 限额,普通 RPC 的额度不能解释所有 429。根据实际套餐记录需要更正的参数或等待条件,避免连续重试未知错误。

检查结果:得到资产身份和字段结果,错误与价格缺失不混淆,已记 DAS 用量限制。

怎样确认完成

  • 输出匹配 mint 的精度、供应量及价格存在/缺失状态,附调用方式、网络、采样时间与缓存说明。
  • 教程为文档核验,没有调用付费或认证 API,也没有校验实际价格准确性。

常见错误与边界

  • 压缩 NFT 需资产 ID,不能把本教程的 fungible mint 规则扩成所有资产通用规则。
  • HTTP 200 可能带 JSON-RPC error;必须看响应体。
  • price_info 缺失不应在资产页面显示为 $0。

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