> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Набор инструментов

> Минимальная конфигурация для чтения состояния блокчейна Raydium, построения транзакций и разработки с использованием программ. Solana CLI, Anchor, SDK на TypeScript и Python, советы по devnet/localnet.

<Info>
  **Эта страница переведена с помощью ИИ. За эталон принимается английская версия.**

  [Открыть английскую версию →](/solana-fundamentals/toolchain)
</Info>

<Info>
  Вся документация предполагает наличие рабочего набора инструментов для разработки на Solana. На этой странице перечислены инструменты, минимальные версии, совместимые с Raydium по состоянию на апрель 2026 года, а также описаны особенности настройки. Начните отсюда перед запуском примеров кода из последующих глав.
</Info>

## Основные инструменты

### Solana CLI

Канонический интерфейс командной строки для взаимодействия с кластерами Solana — управление кошельками, RPC-вызовы, развёртывание программ.

Установка:

```bash theme={null}
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# Или последняя стабильная версия:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
```

Проверка:

```bash theme={null}
solana --version   # → solana-cli 1.18.22 (или новее)
```

Конфигурация для mainnet:

```bash theme={null}
solana config set --url https://api.mainnet-beta.solana.com
solana config set --keypair ~/.config/solana/id.json
solana-keygen new                           # создайте кошелёк, если его ещё нет
solana address                              # ваш публичный ключ
```

Для тестирования Raydium потребуется кошелёк на devnet с балансом:

```bash theme={null}
solana config set --url https://api.devnet.solana.com
solana airdrop 2                            # 2 SOL для тестирования
```

### SPL Token CLI

Официальный CLI для операций SPL Token / Token-2022 — создание минтов, эмиссия токенов, переводы.

Установка (включён в Solana CLI):

```bash theme={null}
spl-token --version
```

Основные операции:

```bash theme={null}
spl-token create-token                                  # создать минт SPL Token
spl-token create-token --program-id TOKEN_2022 ...      # создать минт Token-2022
spl-token create-account <MINT>                         # создать ATA
spl-token mint <MINT> 1000                              # выпустить 1000 токенов в ATA
spl-token transfer <MINT> 100 <RECIPIENT>               # перевести 100
spl-token display <ACCOUNT_OR_MINT>                     # просмотреть
```

### Anchor CLI

Требуется для получения IDL Raydium, создания клиентов и проверки программ.

Установка:

```bash theme={null}
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
```

Основные операции:

```bash theme={null}
anchor idl fetch <PROGRAM_ID> -o program.idl.json       # получить IDL из блокчейна
anchor idl init -f idl.json <PROGRAM_ID>                # загрузить IDL
anchor build                                             # собрать программу из исходного кода
```

## Настройка TypeScript

Основной путь интеграции с Raydium.

### Пакеты

```bash theme={null}
npm install \
  @solana/web3.js \
  @solana/spl-token \
  @coral-xyz/anchor \
  @raydium-io/raydium-sdk-v2 \
  bn.js \
  decimal.js
```

Версии, известные как совместимые по состоянию на апрель 2026:

| Пакет                        | Версия        |
| ---------------------------- | ------------- |
| `@solana/web3.js`            | ≥1.95         |
| `@solana/spl-token`          | ≥0.4          |
| `@coral-xyz/anchor`          | ≥0.30         |
| `@raydium-io/raydium-sdk-v2` | ≥0.2.42-alpha |

### Минимальный скрипт

```ts theme={null}
import { Connection, Keypair } from "@solana/web3.js";
import { Raydium } from "@raydium-io/raydium-sdk-v2";

const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed");
const owner      = Keypair.fromSecretKey(/* your key */);

const raydium = await Raydium.load({
  connection,
  owner,
  cluster:      "mainnet",
  disableFeatureCheck: true,
});

const poolInfo = await raydium.api.fetchPoolById({ id: "..." });
console.log(poolInfo);
```

Полный справочник SDK см. в разделе [`sdk-api/typescript-sdk`](/ru/sdk-api/typescript-sdk).

## Настройка Rust

Для интеграции CPI и программ на блокчейне.

### Набор инструментов

```bash theme={null}
rustup install 1.76.0           # или требуемая Anchor версия
rustup component add rustfmt clippy
solana-install init 1.18.22     # BPF набор инструментов включён
```

### Cargo.toml программы для интеграции Raydium CPI

```toml theme={null}
[dependencies]
anchor-lang        = "0.30.1"
anchor-spl         = "0.30.1"
raydium-cp-swap    = { version = "0.2", features = ["cpi"] }
raydium-clmm       = { version = "0.1", features = ["cpi"] }
```

Функция `"cpi"` импортирует модуль `cpi` с вспомогательными функциями CPI (например, `raydium_cp_swap::cpi::swap_base_input(...)`). См. [`sdk-api/rust-cpi`](/ru/sdk-api/rust-cpi).

## Настройка Python

Дополнительный путь интеграции — распространён среди разработчиков ботов.

### Пакеты

```bash theme={null}
pip install solders solana-py anchorpy
pip install raydium-py    # SDK Raydium сообщества (не официальный)
```

Версии:

| Пакет        | Версия |
| ------------ | ------ |
| `solders`    | ≥0.21  |
| `solana-py`  | ≥0.34  |
| `anchorpy`   | ≥0.21  |
| `raydium-py` | ≥0.2.1 |

### Минимальный скрипт

```python theme={null}
from solana.rpc.async_api import AsyncClient
from solders.keypair import Keypair
from anchorpy import Provider, Wallet, Program

async def main():
    conn = AsyncClient("https://api.mainnet-beta.solana.com")
    owner = Keypair()
    wallet = Wallet(owner)
    provider = Provider(conn, wallet)

    # Загрузить IDL и программу
    with open("cpmm.idl.json") as f:
        idl = json.load(f)
    program = Program(idl, CPMM_PROGRAM_ID, provider)

    pool = await program.account["PoolState"].fetch(pool_id)
    print(pool)
```

См. [`sdk-api/python-integration`](/ru/sdk-api/python-integration).

## RPC эндпоинты

Публичный mainnet RPC (`api.mainnet-beta.solana.com`) имеет жёсткие ограничения по частоте запросов и выдаёт throttle под нагрузкой. Для серьёзного использования получите приватный эндпоинт:

| Поставщик            | Примечания                                          |
| -------------------- | --------------------------------------------------- |
| Helius               | Самый популярный; щедрый бесплатный уровень.        |
| Triton               | Корпоративный; премиум-цены, стабильность.          |
| QuickNode            | Качественный; латентность менее секунды.            |
| Собственный узел RPC | Стоит \~\$500/мес на оборудовании; полный контроль. |

Конфигурация:

```ts theme={null}
const connection = new Connection("https://mainnet.helius-rpc.com/?api-key=...");
```

Некоторые RPC операции требуют расширенные возможности:

* `getProgramAccounts` — неограниченные сканы дороги; некоторые поставщики могут блокировать или взимать плату за сканирование.
* `getPriorityFeeEstimate` — специфичный для Helius эндпоинт; у других есть аналоги.
* `geyser` / WebSocket потоковая передача — требуется для низкоточных ботов; не все поставщики предоставляют.

## Devnet и localnet

### Devnet

Публичный тестовый кластер Solana. Raydium имеет частичное развёртывание на devnet:

* Некоторые пулы CPMM существуют для тестирования.
* AMM v4 имеет исторические пулы на devnet.
* CLMM имеет несколько демопулов.
* Farm v6 развёрнут.

```bash theme={null}
solana config set --url https://api.devnet.solana.com
solana airdrop 2
```

SDK поддерживает devnet через `cluster: "devnet"`:

```ts theme={null}
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
```

**Важно**: пулы на devnet имеют тонкую ликвидность и могут иметь устаревшее состояние. Не полагайтесь на devnet для определения цен; используйте его только для построения и тестирования потоков инструкций.

### Localnet с состоянием форка mainnet

Для реалистичного тестирования форкируйте состояние mainnet в локальный валидатор:

```bash theme={null}
solana-test-validator \
  --url https://api.mainnet-beta.solana.com \
  --clone CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F \
  --clone CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK \
  --clone <SOME_POOL_ID> \
  --clone <SOME_MINT_ID>
```

Это клонирует определённое состояние программы/аккаунта на localhost, где вы можете свободно проводить транзакции. Идеально для:

* Юнит-тестирования интеграции CPI с реальной программой Raydium.
* Воспроизведения транзакции с изменённым параметром для отладки.
* Стресс-тестирования с большими синтетическими объёмами.

Команда Raydium активно использует форкированный localnet для регрессионного тестирования перед развёртыванием на mainnet.

## Шаблоны проектов

### Стартовый шаблон интеграции TypeScript

```
my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│   ├── swap.ts           # пример swap
│   ├── add-liquidity.ts
│   └── read-pool.ts
└── .env                  # RPC URL, путь к кошельку
```

Минимальный `package.json`:

```json theme={null}
{
  "name": "my-raydium-app",
  "type": "module",
  "scripts": { "swap": "tsx src/swap.ts" },
  "dependencies": {
    "@raydium-io/raydium-sdk-v2": "^0.2.42-alpha",
    "@solana/web3.js": "^1.95",
    "@solana/spl-token": "^0.4"
  },
  "devDependencies": {
    "@types/node": "^20",
    "tsx": "^4",
    "typescript": "^5"
  }
}
```

### Стартовый шаблон программы Anchor CPI

```
my-raydium-cpi/
├── Anchor.toml
├── Cargo.toml
├── programs/
│   └── my-cpi/
│       ├── Cargo.toml
│       └── src/lib.rs
└── tests/
    └── my-cpi.ts
```

С Anchor 0.30:

```bash theme={null}
anchor init my-raydium-cpi
cd my-raydium-cpi
# добавить raydium-cp-swap в Cargo.toml с features = ["cpi"]
anchor build
anchor test
```

## Полезные CLI утилиты

### `solana-keygen`

```bash theme={null}
solana-keygen new --outfile ./wallet.json          # генерировать ключ
solana-keygen pubkey ./wallet.json                 # показать публичный ключ
```

### Чтение любого аккаунта

```bash theme={null}
solana account <ADDRESS> --output json-compact
```

Полезно для быстрого просмотра состояния пула без декодера.

### Логи программы

```bash theme={null}
solana logs | grep CPMMoo8                         # отслеживать CPMM логи транзакций
```

### Инспекция транзакции

```bash theme={null}
solana confirm <TX_SIGNATURE> -v                   # красиво выводит логи
```

Или через [explorer](https://explorer.solana.com) — вставьте подпись и посмотрите вкладку "Program Logs".

## Надлежащее управление окружением

### Раздельные кошельки по назначению

* **Кошелёк разработки**: содержит SOL testnet, используется для построения.
* **Production кошелёк**: содержит реальные SOL, используется только для развёртывания / мультиподписей.
* **Горячий кошелёк для ботов**: малый баланс, ограниченные разрешения.

Ключи никогда не должны быть захардкодены. Используйте переменные окружения или менеджеры секретов.

### Паттерн `.env`

```
# .env (не коммитить)
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=...
WALLET_PATH=/Users/you/.config/solana/id.json
```

```ts theme={null}
import { config } from "dotenv";
config();

const connection = new Connection(process.env.SOLANA_RPC_URL!);
```

### Фиксирование версий

Заблокируйте все зависимости экосистемы Solana. Экосистема движется быстро; минорное обновление версии `@solana/web3.js` ранее приводило к breaking changes. Используйте `package-lock.json` / `Cargo.lock` религиозно.

## Ссылки

* [`sdk-api/typescript-sdk`](/ru/sdk-api/typescript-sdk) — справочник TypeScript SDK.
* [`sdk-api/rust-cpi`](/ru/sdk-api/rust-cpi) — использование Rust CPI.
* [`sdk-api/python-integration`](/ru/sdk-api/python-integration) — настройка Python.
* [`solana-fundamentals/programs-and-anchor`](/ru/solana-fundamentals/programs-and-anchor) — основы Anchor.

Источники:

* [Solana документация по установке](https://docs.solana.com/cli/install-solana-cli-tools).
* [Anchor книга: начало работы](https://book.anchor-lang.com/getting_started/installation.html).
* [Репозиторий Raydium SDK v2](https://github.com/raydium-io/raydium-sdk-V2).
