> ## 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クレートを追加し、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を最新に保つ">
    定期的に`cargo update`を実行して、SDKの最新バージョンを取得してください。
  </Step>
</Steps>

## クイックスタート

以下は、[Enhanced Transactions API](/docs/ja/enhanced-transactions)を使用して[特定のトランザクションを解析する](/docs/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 Reference" icon="code" href="/docs/ja/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)を参照。
  </Step>

  <Step title="ドキュメントを見直す">
    詳細ガイドについては[Heliusドキュメント](/docs/)を参照してください。
  </Step>

  <Step title="サポートに連絡">
    より詳細な支援が必要な場合は、Heliusサポートチームにお問い合わせください。
  </Step>
</Steps>

## 貢献

私たちのSDKへのすべての貢献を歓迎します！プルリクエストを開く前に[貢献ガイド](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md)をお読みください。
