> ## 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 resmi untuk pengembangan Solana. Tambahkan crate helius, uraikan transaksi dengan Enhanced Transactions API, dan tangani kesalahan umum.

Helius Rust SDK ([`helius`](https://github.com/helius-labs/helius-rust-sdk)) mempermudah pengembangan di Solana menggunakan Rust. Halaman ini membahas cara menginstal dan menggunakan SDK, menangani kesalahan umum, serta menemukan dokumentasi terbaru.

<CardGroup cols={1}>
  <Card title="GitHub Repository" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    Helius Rust SDK resmi untuk pengembangan Solana
  </Card>
</CardGroup>

## Instalasi

<Steps>
  <Step title="Add dependency to Cargo.toml">
    Untuk mulai menggunakan Helius Rust SDK dalam proyek Anda, tambahkan SDK sebagai dependensi melalui [`cargo`](https://doc.rust-lang.org/cargo/). Buka `Cargo.toml` milik proyek Anda, lalu tambahkan baris berikut di bawah `[dependencies]`:

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

    dengan `x.y.z` sebagai versi yang Anda inginkan.
  </Step>

  <Step title="Alternative: Use cargo add command">
    Sebagai alternatif, gunakan `cargo add helius` untuk menambahkan dependensi secara langsung melalui baris perintah. Perintah ini akan secara otomatis menemukan versi terbaru yang kompatibel dengan proyek Anda dan menambahkannya ke `Cargo.toml` Anda.
  </Step>

  <Step title="Keep your SDK updated">
    Pastikan Anda menjalankan `cargo update` secara rutin untuk mengambil versi terbaru SDK.
  </Step>
</Steps>

## Mulai Cepat

Berikut adalah contoh sederhana penggunaan [Enhanced Transactions API](/docs/id/enhanced-transactions/overview) untuk [menguraikan transaksi tertentu](/docs/id/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(())
}
```

## Dokumentasi

<CardGroup cols={3}>
  <Card title="Rust Docs" icon="book" href="https://docs.rs/helius/latest/helius/">
    Dokumentasi terbaru di docs.rs
  </Card>

  <Card title="API Reference" icon="code" href="/docs/id/api-reference">
    Dokumentasi API Helius
  </Card>

  <Card title="Examples" icon="code-branch" href="https://github.com/helius-labs/helius-rust-sdk/tree/dev/examples">
    Contoh kode dalam repositori GitHub
  </Card>
</CardGroup>

## Penanganan Kesalahan

Pesan kesalahan akan muncul saat API mengembalikan status yang tidak berhasil (yaitu, kode status 4xx atau 5xx).

Misalnya, berikut adalah kesalahan 401 yang muncul akibat pemanggilan getAsset yang salah:

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

### Kode Kesalahan Umum

Saat menggunakan Helius SDK, Anda mungkin menemukan beberapa kode kesalahan. Tabel berikut menjelaskan beberapa kode kesalahan umum beserta informasi tambahan untuk membantu Anda memecahkan masalah:

<AccordionGroup>
  <Accordion title="400: Bad Request">
    Kesalahan ini terjadi saat permintaan memiliki parameter yang tidak valid.
  </Accordion>

  <Accordion title="401: Unauthorized">
    Kesalahan ini terjadi saat kunci API yang diberikan tidak valid atau akses dibatasi karena aturan RPC.
  </Accordion>

  <Accordion title="429: Too Many Requests">
    Kesalahan ini menunjukkan bahwa pengguna telah melampaui batas permintaan dalam jangka waktu tertentu atau kehabisan kredit.
  </Accordion>

  <Accordion title="5XX: Internal Server Error">
    Ini adalah pesan kesalahan umum untuk masalah di sisi server. Hubungi dukungan Helius untuk mendapatkan bantuan.
  </Accordion>
</AccordionGroup>

Jika Anda menemukan salah satu kesalahan ini:

<Steps>
  <Step title="Check error documentation">
    Lihat [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs) untuk mengetahui daftar semua kemungkinan kesalahan yang dikembalikan oleh klien `Helius`
  </Step>

  <Step title="Review the documentation">
    Lihat [dokumentasi Helius](/docs/) untuk panduan lebih lanjut
  </Step>

  <Step title="Contact support">
    Hubungi tim dukungan Helius untuk mendapatkan bantuan yang lebih mendetail
  </Step>
</Steps>

## Berkontribusi

Kami menyambut semua kontribusi untuk SDK kami! Baca [panduan kontribusi](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md) sebelum membuka pull request.
