---
title: "Solana Geyser gRPC - เริ่มต้นใช้งานอย่างรวดเร็ว"
description: "SLV - Solana Geyser gRPC - เริ่มต้นใช้งานอย่างรวดเร็ว"
canonical: "https://erpc.global/th/doc/geyser-grpc/quickstart/"
locale: "th"
---

# Solana Geyser gRPC - เริ่มต้นใช้งานอย่างรวดเร็ว

## ติดตั้ง SLV

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

## $ slv b init

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

ด้วยคำสั่งเดียว `slv b init` คุณสามารถสร้างสภาพแวดล้อมการพัฒนาสำหรับบอท Solana ที่ใช้ข้อมูลแบบ stream ประสิทธิภาพสูงได้ทันที

```bash
slv b init
```

- ใช้ `geyser-ts` หากคุณต้องการบอท Geyser ที่ใช้ TypeScript
- ใช้ `geyser-rust` หากคุณต้องการบอท Geyser ที่ใช้ Rust

## อนุญาตแหล่งที่มาของโพรบวัดเวลาแฝง ICMP

สำหรับการเลือกภูมิภาคของ gRPC นั้น ERPC จะส่งโพรบวัดเวลาแฝง ICMP ไปยัง IP ที่ลงทะเบียนของคุณจากโฮสต์พร็อกซีที่แสดงด้านล่าง อนุญาตคำขอ ICMP echo ขาเข้าจาก IP ต้นทางที่แสดงไว้ทั้งหมด หากถูกไฟร์วอลล์ (ufw, ไฟร์วอลล์ระบบคลาวด์, กลุ่มความปลอดภัย เป็นต้น) บล็อก ค่าที่วัดได้อาจเป็น `9999ms` และอาจมีการเลือกภูมิภาคที่ไม่เหมาะสม IP หลายรายการในภูมิภาคเดียวกันมาจากโฮสต์โพรบคนละเครื่อง และจำเป็นต้องอนุญาตทั้งหมด

[ERPC_PING_SOURCES:grpc]: #
| ภูมิภาค | IP ต้นทาง ICMP |
| --- | --- |
| 🇳🇱 Amsterdam | `82.21.43.34`, `151.244.92.36` |
| 🇺🇸 New York | `151.243.244.5` |
| 🇩🇪 Frankfurt | `151.241.178.20`, `151.241.178.34`, `151.241.178.21` |
| 🇬🇧 London | `151.241.65.4` |
| 🇯🇵 Tokyo | `143.20.238.66` |
| 🇸🇬 Singapore | `151.245.186.2` |
| 🛰️ Far Point | `143.20.238.73` |

### ตัวอย่าง Geyser client – TypeScript

1. เปลี่ยนชื่อ `.env.sample` เป็น `.env`
2. แก้ไข `.env` โดยใส่ค่าจริงของคุณ:

```env
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
```

:::warn[**โปรดทราบ:**]
endpoint นี้เป็นตัวอย่างและไม่สามารถนำไปใช้ได้โดยตรง โปรดขอรับและตั้งค่า endpoint ที่เหมาะสมกับสภาพแวดล้อมของคุณ
:::

3. ติดตั้ง dependency แล้วเริ่มเซิร์ฟเวอร์สำหรับการพัฒนา:

```bash
pnpm i
pnpm dev
```

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

### ตัวอย่าง Geyser client – Rust

1. เปลี่ยนชื่อ `.env.sample` เป็น `.env`
2. แก้ไข `.env` โดยใส่ค่าจริงของคุณ:

```env
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
```

:::warn[**โปรดทราบ:**]
endpoint นี้เป็นตัวอย่างและไม่สามารถนำไปใช้ได้โดยตรง โปรดขอรับและตั้งค่า endpoint ที่เหมาะสมกับสภาพแวดล้อมของคุณ
:::

3. Build และรัน client:

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

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

เปิด Dashboard: https://dashboard.erpc.global/th

## Solana Stream SDK

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

Geyser adapter ที่ใช้ในโค้ดเริ่มต้นซึ่งดาวน์โหลดผ่านคำสั่ง `slv b init`  
มาจาก **Solana Stream SDK** ซึ่งเป็นโอเพนซอร์ส

SDK นี้รองรับทั้ง Rust และ TypeScript ทำให้ implement การสื่อสารแบบ stream ของ Solana ได้อย่างมีประสิทธิภาพ  
รวมถึง Geyser subscription การประมวลผล transaction และการติดตาม update ของ account แบบเรียลไทม์

โค้ดเริ่มต้นที่คุณได้รับเป็นตัวอย่างการทำงานจริงของ SDK นี้โดยตรง  
จึงต่อยอดไปพัฒนาบอทหรือ logic เฉพาะของคุณเองได้ง่าย

ดูรายละเอียดเพิ่มเติมได้ที่ GitHub repository:  
[https://github.com/ValidatorsDAO/solana-stream](https://github.com/ValidatorsDAO/solana-stream)
