---
title: "Solana Shreds - クイックスタート"
description: "SLV による Solana Shreds クライアント開発のクイックスタートガイド"
canonical: "https://erpc.global/ja/doc/shredstream/quickstart/"
locale: "ja"
---

# Solana Shreds - クイックスタート

## SLV をインストール

```bash
curl -fsSL https://storage.slv.dev/slv/install | sh
```

## $ slv b init

![slv b init](https://erpc.global/doc/bot/ShredsTsInit.jpg)

`slv b init` のコマンドひとつで、高速ストリーム通信を活用したSolana向けのボット開発環境をすぐに構築できます。

```bash
slv b init
```

- TypeScriptでShredsを使いたい場合は `shreds-ts`
- RustでShredsを使いたい場合は `shreds-rust`

## ICMP レイテンシープローブの送信元を許可

Shreds のリージョン選択では、ERPC が以下のプロキシホストから登録済み IP へ ICMP レイテンシープローブを送信します。記載されているすべての送信元 IP からの受信 ICMP エコー要求を許可してください。ファイアウォール（ufw、クラウドファイアウォール、セキュリティグループなど）でブロックされると、測定値が `9999ms` となり、最適でないリージョンが選択される場合があります。同一リージョン内の複数の IP は、それぞれ別のプローブホストです。すべての IP を許可する必要があります。

[ERPC_PING_SOURCES:shreds]: #
| リージョン | ICMP 送信元 IP |
| --- | --- |
| 🇳🇱 Amsterdam | `82.21.43.35` |
| 🇺🇸 New York | `151.243.244.162` |
| 🇩🇪 Frankfurt | `151.241.178.73` |
| 🇯🇵 Tokyo | `143.20.238.88` |
| 🇸🇬 Singapore | `151.245.186.3` |
| 🇬🇧 London | `151.241.65.10` |

[ERPC_FAR_POINT_GUIDANCE_START:shreds]: #
### 遠隔の接続先が選ばれています

Shared Shreds の Far Point は、容量に限りのあるフォールバックです。各エンドポイントで同時にプロキシできるストリームは、すべてのお客様を合計して最大32本です。お客様ごとの32枠ではありません。選択した Shreds エンドポイントの近くで subscriber を動かすと、共有接続、フロー制御ウィンドウ、egress の占有時間を抑えやすくなります。共有環境の応答性を保つため、表示されているすべてのリージョンの ICMP プローブ送信元 IP アドレスを許可し、リージョン選択をもう一度実行してください。継続的な利用には、選択したエンドポイントの近くにある ERPC VPS をご検討ください。UDP Forwarding は Standard と Premium のどちらも、受信先に設定した公開 IPv4 アドレスとポートへ Raw Shreds を UDP で届けます。UDP Forwarding で使うリージョンは、ダッシュボードで選びます。

[選択したエンドポイントの近くに ERPC VPS を用意する](https://erpc.global/ja/vps/) · [2 種類の UDP Forwarding を比べる](https://erpc.global/ja/shreds/)

[ERPC_FAR_POINT_GUIDANCE_END:shreds]: #

### Shreds クライアント例 – TypeScript

1. `.env.sample` のファイル名を `.env` に変更します
2. `.env` ファイルの値を実際のものに変更してください：

```env
SHREDS_ENDPOINT=http://shreds-ams6-1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
```

:::warn[**ご注意ください:**]
こちらのエンドポイントはサンプルであり、そのまま使用することはできません。実際のエンドポイントはご自身で取得・設定してください。
:::

3. 依存パッケージをインストールし、スクリプトを実行します：

```bash
pnpm i
pnpm dev
```

![Shreds TypeScript VSCode](https://erpc.global/doc/bot/ShredsTsStarter.jpg)

### Shreds クライアント例 – Rust

1. `.env.sample` のファイル名を `.env` に変更します
2. `.env` ファイルの値を実際のものに変更してください：

```env
SHREDS_ENDPOINT=http://shreds-ams6-1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
```

:::warn[**ご注意ください:**]
こちらのエンドポイントはサンプルであり、そのまま使用することはできません。実際のエンドポイントはご自身で取得・設定してください。
:::

3. クライアントを実行します：

```bash
RUST_LOG=info cargo run
```

![Shreds Rust VSCode](https://erpc.global/doc/bot/ShredsRsStarter.jpg)

ダッシュボードはこちら: https://dashboard.erpc.global/ja

## Solana Stream SDK

![Solana Stream SDK](https://storage.validators.solutions/SolanaStreamSDK.jpg)

`slv b init` コマンドでダウンロードされる Shreds スターターコードで使用されているクライアント実装は、  
オープンソースの **Solana Stream SDK** によって提供されています。

Rust と TypeScript の両方に対応しており、Shreds の購読、パケット解析、トランザクション抽出など、  
Solana のダイレクト通信処理を効率的に実装できます。

この SDK を使えば、Shreds ストリームを活用した開発をすぐに始めることができ、  
`slv b init` で生成されるスターターコードは、そのまま実践的なテンプレートとして利用できます。

詳細はこちらの GitHub リポジトリをご覧ください：  
[https://github.com/ValidatorsDAO/solana-stream](https://github.com/ValidatorsDAO/solana-stream)
