> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Solana DAS API：统一的NFT和代币数据访问

> 最全面的Solana API，用于NFT、压缩NFT和代币。一个统一的接口覆盖所有数字资产，提供完整的元数据、所有权和搜索功能。

## 什么是DAS API？

数字资产标准（DAS）API是一个开源规范，为Solana上的每种数字资产提供一个统一的接口：

* 常规NFT（非同质化代币）
* 压缩NFT（cNFT，使用状态压缩）
* 同质化代币（SPL Token和Token-2022，包括扩展）

一组方法涵盖元数据、所有权、余额、集合、创作者、搜索和Merkle证明—因此您可以基于同一API构建NFT市场、钱包、投资组合追踪器、代币门控应用和分析工具。

两个网络共享相同的方法：

* 主网：`https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY`
* 测试网：`https://devnet.helius-rpc.com/?api-key=YOUR_API_KEY`

## 为什么选择Helius的DAS API？

<CardGroup cols={2}>
  <Card title="所有资产类型，一个API" icon="gem">
    通过一个接口处理NFT、压缩NFT和同质化代币（SPL和Token-2022）。
  </Card>

  <Card title="完整的元数据" icon="database">
    链上和链下数据（Arweave, IPFS）在一次调用中索引并返回。
  </Card>

  <Card title="包含价格数据" icon="coins">
    返回经验证代币的美元价格信息，以及余额。
  </Card>

  <Card title="搜索和过滤" icon="magnifying-glass">
    通过所有者、集合、创作者、权限或丰富的属性过滤器查询。
  </Card>
</CardGroup>

## 我应该使用哪个方法？

大多数集成从三种方法之一开始。使用此表选择正确的入口点，然后使用下面的专用方法。

| Method                 | 用于         | 返回                            |
| ---------------------- | ---------- | ----------------------------- |
| **`getAsset`**         | 您已有ID的单个资产 | 单个资产的完整元数据、所有权和（若为代币）价格       |
| **`getAssetsByOwner`** | 钱包持有的所有内容  | 一个地址的所有资产，包含元数据和余额            |
| **`searchAssets`**     | 跨资产的过滤查询   | 符合所有者、集合、`tokenType`和属性过滤器的资产 |

一个经验法则：

* 知道确切的资产ID？使用 `getAsset`（或多个使用 `getAssetBatch`）。
* 列出钱包持有的资产？使用 `getAssetsByOwner`。
* 按收藏、代币类型或属性过滤？使用 `searchAssets`。

## 关键方法

### 单个资产

<CardGroup cols={2}>
  <Card title="getAsset" icon="gem" href="/zh/api-reference/das/getasset">
    根据ID获取单个资产的完整数据。
  </Card>

  <Card title="getAssetBatch" icon="layer-group" href="/zh/api-reference/das/getassetbatch">
    单次请求最多获取1,000个资产。
  </Card>
</CardGroup>

### 按拥有者、收藏或创建者获取资产

<CardGroup cols={2}>
  <Card title="getAssetsByOwner" icon="wallet" href="/zh/api-reference/das/getassetsbyowner">
    获取一个钱包持有的所有资产，包括元数据和余额。
  </Card>

  <Card title="getAssetsByGroup" icon="layer-group" href="/zh/api-reference/das/getassetsbygroup">
    获取一个收藏中的所有资产（组键 `collection`）。
  </Card>

  <Card title="getAssetsByCreator" icon="user" href="/zh/api-reference/das/getassetsbycreator">
    获取由特定创建者铸造的所有资产。
  </Card>

  <Card title="getAssetsByAuthority" icon="address-card" href="/zh/api-reference/das/getassetsbyauthority">
    获取由特定权威控制的所有资产。
  </Card>
</CardGroup>

### 搜索

<CardGroup cols={2}>
  <Card title="searchAssets" icon="magnifying-glass" href="/zh/api-reference/das/searchassets">
    根据拥有者、收藏、`tokenType` 和属性进行灵活过滤。
  </Card>
</CardGroup>

### 压缩资产和证明

<CardGroup cols={2}>
  <Card title="getAssetProof" icon="shield-check" href="/zh/api-reference/das/getassetproof">
    获取压缩资产的默克尔证明，用于链上操作。
  </Card>

  <Card title="getAssetProofBatch" icon="shield-check" href="/zh/api-reference/das/getassetproofbatch">
    一次获取多个压缩资产的默克尔证明。
  </Card>

  <Card title="getSignaturesForAsset" icon="clock-rotate-left" href="/zh/api-reference/das/getsignaturesforasset">
    获取资产的交易签名历史。
  </Card>

  <Card title="getNftEditions" icon="image" href="/zh/api-reference/das/getnfteditions">
    获取从主NFT印刷出的所有版本。
  </Card>
</CardGroup>

### 代币账户

<CardGroup cols={2}>
  <Card title="getTokenAccounts" icon="coins" href="/zh/api-reference/das/gettokenaccounts">
    根据铸造或拥有者获取代币账户和余额。
  </Card>
</CardGroup>

## 入门

<CardGroup cols={2}>
  <Card title="获取资产（NFTs）" icon="image" href="/zh/das/get-nfts">
    获取NFTs和数字收藏品：单个资产、按拥有者、收藏、证明和版本。
  </Card>

  <Card title="获取SPL代币" icon="coins" href="/zh/das/get-tokens">
    查询可替代代币：余额、供应、持有人和代币账户。
  </Card>

  <Card title="搜索资产" icon="magnifying-glass" href="/zh/das/search">
    根据拥有者、收藏、代币类型和属性过滤资产。
  </Card>

  <Card title="分页" icon="list" href="/zh/das/pagination">
    大结果集的页面和键集分页。
  </Card>
</CardGroup>

## 使用特殊资产类型

### 同质化代币

Helius 扩展了 DAS API 以涵盖**所有代币**，包括普通 SPL 代币（无元数据）和 Token-2022（以及它们的扩展）。同质化代币支持通过 `getAsset`、`getAssetsByOwner` 和 `searchAssets` 使用 `tokenType` 参数实现，经过验证的代币价格在 `token_info.price_info` 下返回。

有关余额、供应、持有人和代币账户查询，请参阅 [获取 SPL 代币指南](/zh/das/get-tokens) 和 [同质化代币扩展](/zh/das/fungible-token-extension)。

### 压缩 NFT

状态压缩 NFT（cNFT）在读取时使用与常规 NFT 相同的方法（`getAsset`、`getAssetsByOwner`、`searchAssets`），外加两个压缩特定的方法：

* `getAssetProof` 返回验证和执行链上操作（如转移和烧毁）所需的 Merkle 证明。
* `getSignaturesForAsset` 返回压缩资产的交易历史。

查看 [获取资产指南](/zh/das/get-nfts) 以获得完整的压缩 NFT 示例。

### 链下数据

大多数 NFT 集合将额外的元数据（属性、图像）存储在 Arweave 或 IPFS 上。DAS API 索引这些链下数据，并在一次调用中与链上数据一起返回。

<Note>
  Helius 无法检测链下数据的变化。链下数据只有在资产再次在链上出现时才会被刷新（例如当它被修改时）。如需请求重新索引，请联系 Helius 支持。
</Note>

## 最佳实践

<CardGroup cols={2}>
  <Card title="分页" icon="list">
    从第 1 页开始（而不是第 0 页）。对大数据集使用 100-1,000 的限制进行分页。
  </Card>

  <Card title="错误处理" icon="shield-check">
    检查每个响应的错误，并使用指数递增重试。
  </Card>

  <Card title="性能" icon="bolt">
    尽可能使用批处理方法，缓存响应，避免当一个调用能满足时进行链式调用。
  </Card>

  <Card title="安全" icon="lock">
    绝不要在客户端代码中暴露您的 API 密钥。通过服务器代理请求并设置 CORS 策略。
  </Card>
</CardGroup>

## 后续步骤

<CardGroup cols={3}>
  <Card title="获取资产（NFTs）" icon="image" href="/zh/das/get-nfts">
    检索和查询NFT和数字藏品。
  </Card>

  <Card title="DAS API参考" icon="code" href="/zh/api-reference/das">
    每个DAS方法的完整请求和响应模式。
  </Card>

  <Card title="DAS API常见问题" icon="book" href="/zh/faqs/das-api">
    关于资产、价格数据和使用的常见问题。
  </Card>
</CardGroup>
