> ## 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 Rust SDK

> 用于Solana开发的官方Helius Rust SDK。添加helius crate，通过Enhanced Transactions API解析交易，并使用全面的API和DAS支持处理错误。

Helius Rust SDK ([`helius`](https://github.com/helius-labs/helius-rust-sdk)) 使从Rust进行Solana开发更轻松。 本页面介绍如何安装和使用该SDK，处理常见错误，以及在哪里可以找到最新的文档。

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

## 安装

<Steps>
  <Step title="将依赖项添加到Cargo.toml">
    要在项目中开始使用Helius Rust SDK，请通过[`cargo`](https://doc.rust-lang.org/cargo/)添加为依赖项。打开项目的`Cargo.toml`，并在`[dependencies]`下添加以下行：

    ```toml theme={"system"}
    helius = "x.y.z"
    ```

    其中`x.y.z`是您希望的版本。
  </Step>

  <Step title="替代方法：使用 cargo add 命令">
    或者，使用`cargo add helius`通过命令行直接添加依赖项。这样会自动找到与项目兼容的最新版本，并将其添加到你的`Cargo.toml`。
  </Step>

  <Step title="保持SDK更新">
    请记得定期运行`cargo update`以获取SDK的最新版本。
  </Step>
</Steps>

## 快速开始

下面是使用[Enhanced Transactions API](/docs/zh/enhanced-transactions)来[解析给定交易](/docs/zh/api-reference/enhanced-transactions/gettransactions)的简单示例：

```rust theme={"system"}
use helius::error::Result;
use helius::types::*;
use helius::Helius;

#[tokio::main]
async fn main() -> Result<()> {
    let api_key: &str = "your_api_key";
    let cluster: Cluster = Cluster::MainnetBeta;

    let helius: Helius = Helius::new(api_key, cluster).unwrap();

    let request: ParseTransactionsRequest = ParseTransactionsRequest {
        transactions: vec![
            "2sShYqqcWAcJiGc3oK74iFsYKgLCNiY2DsivMbaJGQT8pRzR8z5iBcdmTMXRobH8cZNZgeV9Ur9VjvLsykfFE2Li".to_string(),
        ],
    };

    let response: Result<Vec<EnhancedTransaction>, HeliusError> = helius.parse_transactions(request).await;
    println!("Assets: {:?}", response);

    Ok(())
}
```

## 文档

<CardGroup cols={3}>
  <Card title="Rust 文档" icon="book" href="https://docs.rs/helius/latest/helius/">
    最新的docs.rs上的文档
  </Card>

  <Card title="API 参考" icon="code" href="/docs/zh/api-reference">
    Helius API 文档
  </Card>

  <Card title="示例" icon="code-branch" href="https://github.com/helius-labs/helius-rust-sdk/tree/dev/examples">
    GitHub仓库中的代码示例
  </Card>
</CardGroup>

## 错误处理

当API返回非成功（即4xx或5xx状态码）时，会抛出错误信息。

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

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

### 常见错误代码

使用Helius SDK时，您可能会遇到几个错误代码。下面的表格详细描述了一些常见的错误代码以及有助于故障排除的附加信息：

<AccordionGroup>
  <Accordion title="400: 错误请求">
    当请求有无效参数时发生。
  </Accordion>

  <Accordion title="401: 未经授权">
    当提供了无效的API密钥或由于RPC规则而限制访问时发生。
  </Accordion>

  <Accordion title="429: 请求过多">
    表示用户在给定时间内超过了请求限制或积分不足。
  </Accordion>

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

如果您遇到这些错误：

<Steps>
  <Step title="检查错误文档">
    请参阅[`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs)以获取`Helius`客户端返回的所有可能错误的列表
  </Step>

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

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

## 贡献

我们欢迎对我们的SDKs的所有贡献！在提交拉取请求之前，请阅读[贡献指南](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md)。
