> ## 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、TypeScript と Python の SDK、および devnet/localnet のヒント。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/solana-fundamentals/toolchain)
</Info>

このドキュメント全体は、Solana 開発ツールチェーンが正常に動作していることを前提としています。このページでは、ツール、2026 年 4 月時点で Raydium と連携することが確認されている最小バージョン、および具体的なセットアップの注意点をリストアップしています。後の章にあるコード例を実行する前に、ここから始めてください。

## コアツール

### 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 (またはそれ以降)
```

メインネット用に設定：

```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

SPL Token / Token-2022 操作の公式 CLI — ミント作成、トークンミント、転送。

インストール（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                              # あなたの ATA に 1000 トークンをミント
spl-token transfer <MINT> 100 <RECIPIENT>               # 100 を転送
spl-token display <ACCOUNT_OR_MINT>                     # 確認
```

### Anchor CLI

Raydium IDL の取得、クライアント構築、プログラムの検証に必要です。

インストール：

```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 年 4 月時点で一緒に動作することが確認されているバージョン：

| パッケージ                        | バージョン         |
| ---------------------------- | ------------- |
| `@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`](/ja/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 ツールチェーンを含む
```

### Raydium CPI 統合用のプログラム Cargo.toml

```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`](/ja/sdk-api/rust-cpi) を参照してください。

## Python セットアップ

統合パスは 2 番目です — ボット開発者に一般的です。

### パッケージ

```bash theme={null}
pip install solders solana-py anchorpy
pip install raydium-py    # コミュニティ Raydium SDK (公式ではありません)
```

バージョン：

| パッケージ        | バージョン  |
| ------------ | ------ |
| `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`](/ja/sdk-api/python-integration) を参照してください。

## RPC エンドポイント

パブリック メインネット RPC (`api.mainnet-beta.solana.com`) は大幅にレート制限されており、負荷がかかるとスロットルが発生します。重要な使用例では、プライベート エンドポイントを取得してください：

| プロバイダー      | 注記                          |
| ----------- | --------------------------- |
| 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 は `cluster: "devnet"` で devnet をサポートしています：

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

**注意**： devnet プールの流動性は少なく、状態が古い可能性があります。価格発見に devnet を利用しないでください。トランザクション フロー の構築とテストにのみ使用してください。

### フォークされたメインネット状態での Localnet

現実的なテストのために、メインネット状態をローカル バリデーターにフォークします：

```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>
```

これは特定のプログラム/アカウント状態をローカルホストにクローンします。そこで自由にトランザクションを実行できます。以下に最適です：

* 実際の Raydium プログラムに対する CPI 統合のユニット テスト。
* 変更されたパラメーターでトランザクションをリプレイしてデバッグします。
* 大規模な合成ボリュームでストレス テストする。

Raydium チームは、メインネット デプロイ前の回帰テストのために、フォークされた localnet を広く使用しています。

## プロジェクト テンプレート

### TypeScript 統合スターター

```
my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│   ├── swap.ts           # スワップ例
│   ├── 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
# Cargo.toml に raydium-cp-swap を 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 関連の tx ログをテール
```

### トランザクション検査

```bash theme={null}
solana confirm <TX_SIGNATURE> -v                   # ログをきれいに出力
```

または [エクスプローラー](https://explorer.solana.com) を使用してください —署名を貼り付けて、「Program Logs」タブを見てください。

## 環境整備

### 目的ごとに別々のウォレット

* **開発ウォレット**：testnet SOL を保有、構築に使用。
* **本番ウォレット**：実際の 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` のマイナー バージョン バンプは以前、破壊的な変更を導入しています。`package-lock.json` / `Cargo.lock` を厳密に使用してください。

## ポインタ

* [`sdk-api/typescript-sdk`](/ja/sdk-api/typescript-sdk) — TypeScript SDK リファレンス。
* [`sdk-api/rust-cpi`](/ja/sdk-api/rust-cpi) — Rust CPI の使用方法。
* [`sdk-api/python-integration`](/ja/sdk-api/python-integration) — Python セットアップ。
* [`solana-fundamentals/programs-and-anchor`](/ja/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)。
