概述
最初,DAS API仅支持针对Metaplex NFT和cNFT的所有权查询。Helius已扩展DAS API以支持所有代币,包括普通SPL代币(无元数据)和Token-2022(及其扩展)。 您可以查询任何账户的所有代币(SPL、Token-2022、NFT和压缩NFT)的代币余额,并包含以USD计算的代币价格。Solana代币是通过其mint账户定义的。例如,USDC的mint账户是EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v。当您购买40美元的USDC时,会创建一个持有40个USDC代币的代币账户。一个钱包可以持有数百个不同代币的代币账户。 要了解有关Token-2022的更多信息,请参阅Helius的博客文章。何时使用
当您想要在一个DAS调用中获得账户资产的统一视图——可替代代币、NFT和压缩NFT——包括元数据和USD价格时,请使用可替代代币扩展。这是投资组合追踪器、钱包和代币面板的正确选择。 当您只需要链上原始数据——单个账户余额、总供应量或最大持有者——而不需要元数据或价格时,请使用标准RPC代币方法(getTokenAccountBalance, getTokenAccountsByOwner, getTokenSupply, getTokenLargestAccounts)。有关这些方法,请参阅获取SPL代币指南。
工作原理
Helius针对可替代代币的扩展围绕所有权索引。以下方法提供账户资产的统一视图:getAsset、getAssetsByOwner和searchAssets。 该扩展添加了一个名为tokenType 的额外字段,允许您查询账户拥有的所有资产,包括可替代的和 Token-2022 代币。tokenType 的选项有:
fungible:返回所有可替代代币。nonFungible:返回所有 NFT(压缩和常规 NFT)。regularNft:仅返回常规 NFT。compressedNft:仅返回压缩 NFT。all:返回所有代币。
Token-2022 支持
Helius 支持 Token-2022 代币并解析其扩展。如果代币使用 Token-2022 程序,响应将包括mint_extensions 字段。以下是 BERN 的 mint_extensions 字段的修整项:
向后兼容性
为了向后兼容,当省略tokenType 时,行为与原始 DAS 相同:仅返回 NFT 和压缩 NFT。
下一步
获取 SPL 代币
余额、供应量、持有者和代币账户。
搜索资产
按 tokenType、所有者和集合进行筛选。
searchAssets 参考
完整请求和响应架构。