什么是DAS API?
数字资产标准(DAS)API是一个开源规范,为Solana上的每种数字资产提供一个统一的接口:- 常规NFT(非同质化代币)
- 压缩NFT(cNFT,使用状态压缩)
- 同质化代币(SPL Token和Token-2022,包括扩展)
- 主网:
https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY - 测试网:
https://devnet.helius-rpc.com/?api-key=YOUR_API_KEY
为什么选择Helius的DAS API?
所有资产类型,一个API
通过一个接口处理NFT、压缩NFT和同质化代币(SPL和Token-2022)。
完整的元数据
链上和链下数据(Arweave, IPFS)在一次调用中索引并返回。
包含价格数据
返回经验证代币的美元价格信息,以及余额。
搜索和过滤
通过所有者、集合、创作者、权限或丰富的属性过滤器查询。
我应该使用哪个方法?
大多数集成从三种方法之一开始。使用此表选择正确的入口点,然后使用下面的专用方法。
一个经验法则:
- 知道确切的资产ID?使用
getAsset(或多个使用getAssetBatch)。 - 列出钱包持有的资产?使用
getAssetsByOwner。 - 按收藏、代币类型或属性过滤?使用
searchAssets。
关键方法
单个资产
getAsset
根据ID获取单个资产的完整数据。
getAssetBatch
单次请求最多获取1,000个资产。
按拥有者、收藏或创建者获取资产
getAssetsByOwner
获取一个钱包持有的所有资产,包括元数据和余额。
getAssetsByGroup
获取一个收藏中的所有资产(组键
collection)。getAssetsByCreator
获取由特定创建者铸造的所有资产。
getAssetsByAuthority
获取由特定权威控制的所有资产。
搜索
searchAssets
根据拥有者、收藏、
tokenType 和属性进行灵活过滤。压缩资产和证明
getAssetProof
获取压缩资产的默克尔证明,用于链上操作。
getAssetProofBatch
一次获取多个压缩资产的默克尔证明。
getSignaturesForAsset
获取资产的交易签名历史。
getNftEditions
获取从主NFT印刷出的所有版本。
代币账户
getTokenAccounts
根据铸造或拥有者获取代币账户和余额。
入门
获取资产(NFTs)
获取NFTs和数字收藏品:单个资产、按拥有者、收藏、证明和版本。
获取SPL代币
查询可替代代币:余额、供应、持有人和代币账户。
搜索资产
根据拥有者、收藏、代币类型和属性过滤资产。
分页
大结果集的页面和键集分页。
使用特殊资产类型
同质化代币
Helius 扩展了 DAS API 以涵盖所有代币,包括普通 SPL 代币(无元数据)和 Token-2022(以及它们的扩展)。同质化代币支持通过getAsset、getAssetsByOwner 和 searchAssets 使用 tokenType 参数实现,经过验证的代币价格在 token_info.price_info 下返回。
有关余额、供应、持有人和代币账户查询,请参阅 获取 SPL 代币指南 和 同质化代币扩展。
压缩 NFT
状态压缩 NFT(cNFT)在读取时使用与常规 NFT 相同的方法(getAsset、getAssetsByOwner、searchAssets),外加两个压缩特定的方法:
getAssetProof返回验证和执行链上操作(如转移和烧毁)所需的 Merkle 证明。getSignaturesForAsset返回压缩资产的交易历史。
链下数据
大多数 NFT 集合将额外的元数据(属性、图像)存储在 Arweave 或 IPFS 上。DAS API 索引这些链下数据,并在一次调用中与链上数据一起返回。Helius 无法检测链下数据的变化。链下数据只有在资产再次在链上出现时才会被刷新(例如当它被修改时)。如需请求重新索引,请联系 Helius 支持。
最佳实践
分页
从第 1 页开始(而不是第 0 页)。对大数据集使用 100-1,000 的限制进行分页。
错误处理
检查每个响应的错误,并使用指数递增重试。
性能
尽可能使用批处理方法,缓存响应,避免当一个调用能满足时进行链式调用。
安全
绝不要在客户端代码中暴露您的 API 密钥。通过服务器代理请求并设置 CORS 策略。
后续步骤
获取资产(NFTs)
检索和查询NFT和数字藏品。
DAS API参考
每个DAS方法的完整请求和响应模式。
DAS API常见问题
关于资产、价格数据和使用的常见问题。