> ## 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 による Solana 開発用の公式 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` を使用し、`@solana/web3.js` バージョン 1.73.2 以上の依存を削除するために行いました。最新バージョンに移行する方は、[移行ガイド](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);
  }
})();
```

### ドキュメント

[examples ディレクトリ](https://github.com/helius-labs/helius-sdk/tree/main/examples) には、各メソッドと基本的な使用法をカバーする詳細なコード例が、名前空間ごとに整理して含まれています。API リファレンスドキュメントは、[ドキュメント](/ja/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 コマンドを使用">
    代わりに、`cargo add helius` を使用してコマンドラインで直接依存関係を追加できます。これにより、プロジェクトと互換性のある最新バージョンが自動的に見つかり、`Cargo.toml` に追加されます。
  </Step>

  <Step title="SDK を常に最新に保つ">
    最新バージョンの SDK を取得するには、`cargo update` を定期的に実行してください。
  </Step>
</Steps>

### クイックスタート

以下は、[強化トランザクション API](/ja/enhanced-transactions) を使用して [特定のトランザクションを解析する](/ja/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 リファレンス" icon="code" href="/ja/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>

## エラー処理

<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 を使用している場合は、`Helius` クライアントが返す可能性のあるすべてのエラー一覧について [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs) を参照してください。Node.js SDK の場合は [Kit のエラー](https://www.solanakit.com/docs/concepts/errors) を参照してください。
  </Step>

  <Step title="ドキュメントを見直す">
    詳しいガイダンスは [Helius ドキュメント](/)を参照してください。
  </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 への貢献に興味がありますか？プルリクエストを提出する前に [貢献ガイド](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>
