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

> Helius Rust SDK chính thức dành cho việc phát triển trên Solana. Thêm crate helius, phân tích giao dịch bằng Enhanced Transactions API và xử lý các lỗi thường gặp.

Helius Rust SDK ([`helius`](https://github.com/helius-labs/helius-rust-sdk)) giúp việc phát triển trên Solana bằng Rust trở nên dễ dàng hơn. Trang này trình bày cách cài đặt và sử dụng SDK, xử lý các lỗi thường gặp cũng như nơi tìm tài liệu mới nhất.

<CardGroup cols={1}>
  <Card title="GitHub Repository" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    Helius Rust SDK chính thức dành cho việc phát triển trên Solana
  </Card>
</CardGroup>

## Cài đặt

<Steps>
  <Step title="Add dependency to Cargo.toml">
    Để bắt đầu sử dụng Helius Rust SDK trong dự án, hãy thêm SDK làm phần phụ thuộc thông qua [`cargo`](https://doc.rust-lang.org/cargo/). Mở tệp `Cargo.toml` của dự án và thêm dòng sau bên dưới `[dependencies]`:

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

    trong đó `x.y.z` là phiên bản bạn muốn sử dụng.
  </Step>

  <Step title="Alternative: Use cargo add command">
    Ngoài ra, hãy sử dụng `cargo add helius` để thêm trực tiếp phần phụ thuộc qua dòng lệnh. Lệnh này sẽ tự động tìm phiên bản mới nhất tương thích với dự án và thêm phiên bản đó vào `Cargo.toml`.
  </Step>

  <Step title="Keep your SDK updated">
    Hãy nhớ chạy `cargo update` thường xuyên để tải phiên bản SDK mới nhất.
  </Step>
</Steps>

## Bắt đầu nhanh

Dưới đây là ví dụ đơn giản về cách sử dụng [Enhanced Transactions API](/docs/vi/enhanced-transactions/overview) để [phân tích một giao dịch cụ thể](/docs/vi/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(())
}
```

## Tài liệu

<CardGroup cols={3}>
  <Card title="Rust Docs" icon="book" href="https://docs.rs/helius/latest/helius/">
    Tài liệu mới nhất trên docs.rs
  </Card>

  <Card title="API Reference" icon="code" href="/docs/vi/api-reference">
    Tài liệu API của Helius
  </Card>

  <Card title="Examples" icon="code-branch" href="https://github.com/helius-labs/helius-rust-sdk/tree/dev/examples">
    Các ví dụ mã trong kho lưu trữ GitHub
  </Card>
</CardGroup>

## Xử lý lỗi

Thông báo lỗi sẽ được trả về khi API trả về trạng thái không thành công (tức là mã trạng thái 4xx hoặc 5xx).

Ví dụ, dưới đây là lỗi 401 được trả về khi gọi getAsset không chính xác:

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

### Các mã lỗi thường gặp

Khi làm việc với Helius SDK, bạn có thể gặp một số mã lỗi. Dưới đây là thông tin chi tiết về một số mã lỗi thường gặp cùng với thông tin bổ sung giúp bạn khắc phục sự cố:

<AccordionGroup>
  <Accordion title="400: Bad Request">
    Lỗi này xảy ra khi một yêu cầu chứa các tham số không hợp lệ.
  </Accordion>

  <Accordion title="401: Unauthorized">
    Lỗi này xảy ra khi khóa API được cung cấp không hợp lệ hoặc quyền truy cập bị hạn chế do các quy tắc RPC.
  </Accordion>

  <Accordion title="429: Too Many Requests">
    Lỗi này cho biết người dùng đã vượt quá giới hạn yêu cầu trong một khoảng thời gian nhất định hoặc đã hết tín dụng.
  </Accordion>

  <Accordion title="5XX: Internal Server Error">
    Đây là thông báo lỗi chung cho các sự cố phía máy chủ. Vui lòng liên hệ với bộ phận hỗ trợ của Helius để được trợ giúp.
  </Accordion>
</AccordionGroup>

Nếu gặp bất kỳ lỗi nào trong số này:

<Steps>
  <Step title="Check error documentation">
    Tham khảo [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs) để xem danh sách tất cả các lỗi mà máy khách `Helius` có thể trả về
  </Step>

  <Step title="Review the documentation">
    Tham khảo [tài liệu Helius](/docs/) để biết thêm hướng dẫn
  </Step>

  <Step title="Contact support">
    Liên hệ với đội ngũ hỗ trợ của Helius để được trợ giúp chi tiết hơn
  </Step>
</Steps>

## Đóng góp

Chúng tôi hoan nghênh mọi đóng góp cho các SDK! Hãy đọc [hướng dẫn đóng góp](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md) trước khi mở một pull request.
