> ## 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 Repository" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    Solana 개발을 위한 공식 Helius Rust SDK
  </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 업데이트 유지">
    SDK의 최신 버전을 가져오기 위해 `cargo update`를 정기적으로 실행하십시오.
  </Step>
</Steps>

## 빠른 시작

아래는 [Enhanced Transactions API](/docs/ko/enhanced-transactions)를 사용하여 [주어진 트랜잭션을 파싱](/docs/ko/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 Docs" icon="book" href="https://docs.rs/helius/latest/helius/">
    docs.rs의 최신 문서
  </Card>

  <Card title="API Reference" icon="code" href="/docs/ko/api-reference">
    Helius API 문서
  </Card>

  <Card title="Examples" 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: 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="오류 문서 확인">
    [`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>

## 기여

SDK에 대한 모든 기여를 환영합니다! 풀 리퀘스트를 열기 전에 [기여 가이드](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md)를 읽어보십시오.
