> ## 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.

# SDK de Rust de Helius para Solana

> SDK oficial de Rust de Helius para desarrollar en Solana. Agrega el crate helius, analiza transacciones con la API de transacciones mejoradas y gestiona errores comunes.

El SDK de Rust de Helius ([`helius`](https://github.com/helius-labs/helius-rust-sdk)) facilita el desarrollo en Solana con Rust. Esta página explica cómo instalar y usar el SDK, gestionar errores comunes y encontrar la documentación más reciente.

<CardGroup cols={1}>
  <Card title="GitHub Repository" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    SDK oficial de Rust de Helius para desarrollar en Solana
  </Card>
</CardGroup>

## Instalación

<Steps>
  <Step title="Add dependency to Cargo.toml">
    Para comenzar a usar el SDK de Rust de Helius en tu proyecto, agrégalo como dependencia mediante [`cargo`](https://doc.rust-lang.org/cargo/). Abre el archivo `Cargo.toml` de tu proyecto y agrega la siguiente línea debajo de `[dependencies]`:

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

    donde `x.y.z` es la versión que deseas.
  </Step>

  <Step title="Alternative: Use cargo add command">
    Como alternativa, usa `cargo add helius` para agregar la dependencia directamente desde la línea de comandos. Esto buscará automáticamente la versión más reciente compatible con tu proyecto y la agregará a tu `Cargo.toml`.
  </Step>

  <Step title="Keep your SDK updated">
    Recuerda ejecutar `cargo update` con regularidad para obtener la versión más reciente del SDK.
  </Step>
</Steps>

## Inicio rápido

A continuación se muestra un ejemplo sencillo de cómo usar la [API de transacciones mejoradas](/docs/es/enhanced-transactions/overview) para [analizar una transacción específica](/docs/es/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(())
}
```

## Documentación

<CardGroup cols={3}>
  <Card title="Rust Docs" icon="book" href="https://docs.rs/helius/latest/helius/">
    Documentación más reciente en docs.rs
  </Card>

  <Card title="API Reference" icon="code" href="/docs/es/api-reference">
    Documentación de la API de Helius
  </Card>

  <Card title="Examples" icon="code-branch" href="https://github.com/helius-labs/helius-rust-sdk/tree/dev/examples">
    Ejemplos de código en el repositorio de GitHub
  </Card>
</CardGroup>

## Gestión de errores

Se generará un mensaje de error cuando la API devuelva una respuesta no satisfactoria (es decir, un código de estado 4xx o 5xx).

Por ejemplo, a continuación se muestra un error 401 generado por una llamada incorrecta a getAsset:

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

### Códigos de error comunes

Al trabajar con el SDK de Helius, es posible que encuentres varios códigos de error. A continuación se detallan algunos de los códigos de error comunes, junto con información adicional para ayudarte a resolverlos:

<AccordionGroup>
  <Accordion title="400: Bad Request">
    Esto ocurre cuando una solicitud contiene parámetros no válidos.
  </Accordion>

  <Accordion title="401: Unauthorized">
    Esto ocurre cuando se proporciona una clave de API no válida o el acceso está restringido por las reglas de RPC.
  </Accordion>

  <Accordion title="429: Too Many Requests">
    Esto indica que el usuario superó el límite de solicitudes en un período determinado o se quedó sin créditos.
  </Accordion>

  <Accordion title="5XX: Internal Server Error">
    Este es un mensaje de error genérico para problemas del servidor. Contacta al equipo de soporte de Helius para obtener ayuda.
  </Accordion>
</AccordionGroup>

Si encuentras alguno de estos errores:

<Steps>
  <Step title="Check error documentation">
    Consulta [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs) para ver una lista de todos los posibles errores que devuelve el cliente `Helius`
  </Step>

  <Step title="Review the documentation">
    Consulta la [documentación de Helius](/docs/) para obtener más orientación
  </Step>

  <Step title="Contact support">
    Contacta al equipo de soporte de Helius para obtener ayuda más detallada
  </Step>
</Steps>

## Contribuciones

¡Todas las contribuciones a nuestros SDK son bienvenidas! Lee la [guía de contribuciones](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md) antes de abrir una solicitud de incorporación de cambios.
