> ## 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.

# Helius Solana TypeScript SDK

> 官方 Helius TypeScript SDK，用于 Solana 开发。安装 helius-sdk，运行您的第一个查询，并通过综合 API、增强交易和 DAS 支持来处理错误。

Helius TypeScript SDK ([`helius-sdk`](https://github.com/helius-labs/helius-sdk)) 使在 TypeScript 中进行 Solana 开发变得更简单——可以在 Node.js、浏览器或任何其他运行时中使用。本页面介绍了如何安装和使用该 SDK、处理常见错误以及在哪里可以找到最新文档。

请注意，自版本 2.0.0 起，SDK 已被重写。这是为了使用 `@solana/kit` 并移除对版本高于 1.73.2 的 `@solana/web3.js` 的依赖。迁移到最新版本的用户，请参考我们的[迁移指南](https://github.com/helius-labs/helius-sdk/blob/main/MIGRATION.md)。

<CardGroup cols={1}>
  <Card title="GitHub Repository" icon="js" href="https://github.com/helius-labs/helius-sdk">
    用于 Solana 开发的官方 Helius TypeScript SDK
  </Card>
</CardGroup>

## 安装

Helius TypeScript SDK 可以通过以下任一软件包管理器安装：

<Tabs>
  <Tab title="npm">
    ```bash theme={"system"}
    npm install helius-sdk
    ```
  </Tab>

  <Tab title="pnpm">
    ```bash theme={"system"}
    pnpm install helius-sdk
    ```
  </Tab>

  <Tab title="Yarn">
    ```bash theme={"system"}
    yarn add helius-sdk
    ```
  </Tab>
</Tabs>

## 快速开始

下面是一个简单的示例，说明如何使用 TypeScript SDK 来获取给定地址所拥有的资产列表：

```typescript theme={"system"}
import { createHelius } from "helius-sdk";

(async () => {
  const apiKey = ""; // From Helius dashboard
  const helius = createHelius({ apiKey });

  try {
    const assets = await helius.getAssetsByOwner({
      ownerAddress: "owner_address_goes_here",
      page: 1,
      limit: 50,
      sortBy: { sortBy: "created", sortDirection: "asc" },
    });

    console.log("Fetched assets:", assets);
  } catch (error) {
    console.error("Error:", error);
  }
})();
```

## 文档

[示例目录](https://github.com/helius-labs/helius-sdk/tree/main/examples) 中包含了关于每种方法和基本用法的详细代码示例，按命名空间组织。有关 API 参考文档，请参阅我们的[文档](/docs/zh/api-reference)和[官方 Solana 文档](https://solana.com/docs/rpc)以获取一般 Solana JSON RPC API 帮助。有关 Kit 的一般帮助，请参考[Kit 的文档](https://www.solanakit.com/)。

## 错误处理

当 API 返回非成功（例如 4xx 或 5xx 状态代码）时，将抛出错误消息。

例如，下面是由于错误的 getAsset 调用而抛出的 401 错误：

```typescript theme={"system"}
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32001,
    "message": "Authentication failed. Missing or invalid API key."
  },
  "id": "1"
}
```

### 常见错误代码

使用 Helius SDK 时，可能会遇到多个错误代码。下面的表格详细列出了一些常见的错误代码及附加信息，以帮助您进行故障排除：

<AccordionGroup>
  <Accordion title="400: Bad Request">
    请求参数无效时发生。
  </Accordion>

  <Accordion title="401: Unauthorized">
    提供了无效的 API 密钥或由于 RPC 规则访问受限时发生。
  </Accordion>

  <Accordion title="429: Too Many Requests">
    表示用户在给定时间内超过请求限制或没有剩余积分。
  </Accordion>

  <Accordion title="5XX: Internal Server Error">
    这是服务器端问题的通用错误消息。请联系 Helius 支持以获得帮助。
  </Accordion>
</AccordionGroup>

如果遇到这些错误：

<Steps>
  <Step title="查看错误文档">
    请参阅 [Kit 的错误](https://www.solanakit.com/docs/concepts/errors) 以获取可能遇到的错误列表
  </Step>

  <Step title="查看文档">
    请参阅 [Helius 文档](/docs/) 以获取进一步指导
  </Step>

  <Step title="联系支持">
    请联系 Helius 支持团队以获取更详细的帮助
  </Step>
</Steps>

## 贡献

我们欢迎所有对我们的 SDK 的贡献！在开始 pull request 之前，请阅读[贡献指南](https://github.com/helius-labs/helius-sdk/blob/main/CONTRIBUTING.md)。
