> ## 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 для разработки на Solana. Добавьте крейт helius, разбирайте транзакции с помощью Enhanced Transactions API и обрабатывайте распространенные ошибки.

Helius Rust SDK ([`helius`](https://github.com/helius-labs/helius-rust-sdk)) упрощает разработку на Solana с использованием Rust. На этой странице описаны установка и использование SDK, обработка распространенных ошибок и поиск актуальной документации.

<CardGroup cols={1}>
  <Card title="GitHub Repository" icon="rust" href="https://github.com/helius-labs/helius-rust-sdk">
    Официальный Helius Rust SDK для разработки на Solana
  </Card>
</CardGroup>

## Установка

<Steps>
  <Step title="Add dependency to 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="Alternative: Use cargo add command">
    Также можно использовать `cargo add helius`, чтобы добавить зависимость непосредственно из командной строки. Команда автоматически найдет последнюю версию, совместимую с вашим проектом, и добавит ее в файл `Cargo.toml`.
  </Step>

  <Step title="Keep your SDK updated">
    Регулярно запускайте `cargo update`, чтобы получать последнюю версию SDK.
  </Step>
</Steps>

## Быстрый старт

Ниже приведен простой пример использования [Enhanced Transactions API](/docs/ru/enhanced-transactions/overview) для [разбора указанной транзакции](/docs/ru/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/ru/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), будет выдано сообщение об ошибке.

Например, ниже показана ошибка 401, возникающая при некорректном вызове getAsset:

```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="Check error documentation">
    Ознакомьтесь с [`errors.rs`](https://github.com/helius-labs/helius-rust-sdk/blob/dev/src/error.rs), где приведен список всех возможных ошибок, возвращаемых клиентом `Helius`
  </Step>

  <Step title="Review the documentation">
    Дополнительные рекомендации приведены в [документации Helius](/docs/)
  </Step>

  <Step title="Contact support">
    Обратитесь в службу поддержки Helius за более подробной помощью
  </Step>
</Steps>

## Участие в разработке

Мы приветствуем любой вклад в наши SDK! Перед созданием запроса на включение изменений прочитайте [руководство для участников](https://github.com/helius-labs/helius-rust-sdk/blob/dev/CONTRIBUTIONS.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.