> ## 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 SDKs: Node.js 및 Rust 개발 도구

> Node.js 및 Rust용 공식 Helius SDK로 블록체인 통합을 간소화하세요. 포괄적인 API, 향상된 거래, DAS 지원 포함.

Helius에서는 Solana 개발을 보다 쉽게 하기 위해 [Node.js](https://github.com/helius-labs/helius-sdk) 및 [Rust SDK](https://github.com/helius-labs/helius-rust-sdk)를 개발했습니다. 이 페이지에는 이러한 SDK의 설치 및 사용 방법에 대한 정보가 포함되어 있습니다. 또한 일반적인 오류 처리, 최신 문서 검색 위치 및 이러한 SDK에 기여하는 방법도 다룹니다.

또한 훌륭한 커뮤니티가 만든 비공식 커뮤니티 SDK 목록도 설명합니다. 이러한 SDK는 팀에서 공식적으로 유지 관리하지 않으며, Node.js 및 Rust SDK만 유지 관리합니다.

<CardGroup cols={2}>
  <Card title="Node.js SDK" icon="js" href="https://github.com/helius-labs/helius-sdk">
    Solana 개발을 위한 공식 Helius Node.js SDK
  </Card>

  <Card title="Rust SDK" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    Solana 개발을 위한 공식 Helius Rust SDK
  </Card>
</CardGroup>

## Node.js SDK

Node.js SDK는 버전 2.0.0부터 새로 작성되었습니다. `@solana/kit`를 사용하고 1.73.2보다 높은 버전의 `@solana/web3.js` 의존성을 제거하기 위해 수행되었습니다. 최신 버전으로 마이그레이션하는 경우, [마이그레이션 가이드](https://github.com/helius-labs/helius-sdk/blob/main/MIGRATION.md)를 참조하세요.

### 설치

Helius Node.js 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>

### 빠른 시작

다음은 주어진 주소가 소유한 자산 목록을 가져오기 위해 Node.js 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/ko/api-reference) 및 일반 Solana JSON RPC API 도움말을 위한 [공식 Solana 문서](https://solana.com/docs/rpc)를 참조하세요. Kit에 대한 일반적인 도움은 [Kit의 문서](https://www.solanakit.com/)를 참조하세요.

## Rust SDK

### 설치

<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 명령어 사용">
    대신, CLI에서 `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>

## 오류 처리

<Callout type="warning">
  API가 비성공적 상태 코드(예: 4xx 또는 5xx)를 반환하면 오류 메시지가 발생합니다.
</Callout>

예를 들어, Node.js SDK를 사용하여 잘못된 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: 잘못된 요청">
    유효하지 않은 매개변수가 있는 요청일 때 발생합니다.
  </Accordion>

  <Accordion title="401: 권한 없음">
    유효하지 않은 API 키가 제공되었거나 RPC 규칙에 의해 접근이 제한될 때 발생합니다.
  </Accordion>

  <Accordion title="429: 요청이 너무 많음">
    사용자가 주어진 시간 내에 요청 한도를 초과했거나 크레딧이 부족할 때 나타납니다.
  </Accordion>

  <Accordion title="5XX: 내부 서버 오류">
    서버 쪽 문제에 대한 일반적인 오류 메시지입니다. 지원을 위해 Helius 지원팀에 문의하세요.
  </Accordion>
</AccordionGroup>

이 오류가 발생할 경우:

<Steps>
  <Step title="오류 문서 확인">
    Rust SDK를 사용하는 경우, [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs)에서 `Helius` 클라이언트가 반환하는 가능한 모든 오류 목록을 참조하세요. Node.js SDK의 경우, [Kit의 오류](https://www.solanakit.com/docs/concepts/errors)를 참조하세요.
  </Step>

  <Step title="문서 검토">
    [Helius 문서](/docs/)를 참조하여 추가 지침을 얻으세요.
  </Step>

  <Step title="지원팀에 문의">
    자세한 도움을 위해 Helius 지원팀에 문의하세요.
  </Step>
</Steps>

## SDK에 대한 기여

저희 SDK에 대한 모든 기여를 환영합니다! 관심이 있으시다면 다음은 저희 GitHub 저장소입니다:

<CardGroup cols={2}>
  <Card title="Node.js SDK" icon="js" href="https://github.com/helius-labs/helius-sdk/blob/main/CONTRIBUTING.md">
    Node.js SDK에 기여하기
  </Card>

  <Card title="Rust SDK" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md">
    Rust SDK에 기여하기
  </Card>
</CardGroup>

<Callout type="info">
  Helius Rust SDK에 기여하고 싶으신가요? PR을 열기 전에 [기여 가이드](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md)를 읽어보세요!
</Callout>

## 비공식 커뮤니티 SDK

<Callout emoji="👏">
  저희 멋진 커뮤니티 멤버들이 REST API와 상호작용할 수 있는 자체 SDK를 만들었습니다. 저희 팀에서 공식적으로 유지 관리하지 않음을 유의하세요.
</Callout>

<CardGroup cols={3}>
  <Card title="Kotlin SDK" href="https://github.com/dlgrech/khelius" />

  <Card title="PHP SDK" href="https://github.com/HowRareIs/helius-php-sdk" />

  <Card title="Python SDK" href="https://github.com/vmpyre/helius_sdk" />

  <Card title="Rust SDK (동기)" href="https://github.com/bgreni/helius-rust-sdk" />

  <Card title="Rust SDK (비동기)" href="https://github.com/dougEfresh/selene-helius-sdk" />
</CardGroup>
