Skip to main content

概述

本指南介绍如何读取 Solana 上的同质化代币:账户余额、根据所有者或铸币的代币账户、总供应量、最大持有者以及 DAS 同质化代币扩展。Helius 提供标准的 Solana RPC 代币方法和添加元数据及美元价格的 DAS 方法。 对于 NFT、压缩 NFT、版本和证明,请参阅获取资产指南。本页面重点介绍同质化(SPL 和 Token-2022)代币。

何时使用

在以下情况下使用本页面的方法:
  • 读取单个代币账户的余额
  • 列出钱包持有的所有代币账户
  • 查找持有特定铸币的所有账户
  • 检查代币的总供应量或最大持有者
  • 获取代币元数据和美元价格以及余额

代币账户余额

使用标准 RPC 获取特定代币账户的余额:

API 参考

getTokenAccountBalance

根据所有者的代币账户

列出钱包拥有的所有代币账户:

API 参考

getTokenAccountsByOwner

根据铸币的代币账户

列出持有特定代币的所有账户:

API 参考

getTokenAccountsByOwner
要查找跨所有所有者(不仅限于一个所有者)持有铸币的每个账户,请使用下面描述的 DAS getTokenAccounts 方法。

代币供应

检查代币的总供应量:

API 参考

getTokenSupply

最大的代币持有者

识别持有代币的最大账户:

API 参考

getTokenLargestAccounts
返回最多 20 个铸币的最大账户:

使用 DAS API 的代币账户

DAS getTokenAccounts 方法通过铸币或所有者返回代币账户,包括余额,以单个分页调用的方式返回。与 getTokenAccountsByOwner 不同,您可以仅通过 mint 查询,以列出所有持有代币的账户。

API 参考

getTokenAccounts
分页;每个条目包括账户、铸币、所有者和余额:

使用 DAS API 获取代币元数据和价格

要获取代币元数据和美元价格,调用启用 showFungible 的 DAS getAsset 方法。经过验证的代币价格在 token_info.price_info 下返回。
getAsset 的价格数据缓存长达 600 秒,因此可能会滞后 10 分钟。

API 参考

getAsset
响应在 token_info 下返回供应、小数和价格:

计算市值

将价格乘以小数调整后的供应量:
要在一次调用中列出钱包中的每一个可替代代币(含余额和价格),请使用 getAssetsByOwnersearchAssetstokenType: "fungible"。查看可替代代币扩展,了解 tokenType、余额、Token-2022 扩展和价格数据在响应中的显示方式。

最佳实践

  • 对返回大量结果集的方法使用分页。请参阅分页指南
  • 在需要元数据或美元价格时,优先使用 DAS 方法(getAssetgetAssetsByOwnergetTokenAccounts);对于原始链上余额和供应,使用标准 RPC 方法。
  • 使用 try/catch 块和重试机制优雅地处理错误。
  • 在适当的情况下缓存响应以减少 API 调用。

下一步

可替代代币扩展

DAS如何返回可替代代币、Token-2022扩展和价格。

获取资产(NFTs)

检索NFT、压缩NFT、版本和证明。

DAS API参考

每个DAS方法的完整架构。