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

ติดตั้ง SLV

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

$ slv b init

slv b init
ด้วยคำสั่งเดียว 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 หลายรายการในภูมิภาคเดียวกันมาจากโฮสต์โพรบคนละเครื่อง และจำเป็นต้องอนุญาตทั้งหมด
ภูมิภาคIP ต้นทาง ICMP
🇳🇱 Amsterdam82.21.43.34, 151.244.92.36
🇺🇸 New York151.243.244.5
🇩🇪 Frankfurt151.241.178.20, 151.241.178.34, 151.241.178.21
🇬🇧 London151.241.65.4
🇯🇵 Tokyo143.20.238.66
🇸🇬 Singapore151.245.186.2
🛰️ Far Point143.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"
โปรดทราบ:
endpoint นี้เป็นตัวอย่างและไม่สามารถนำไปใช้ได้โดยตรง โปรดขอรับและตั้งค่า endpoint ที่เหมาะสมกับสภาพแวดล้อมของคุณ
  1. ติดตั้ง dependency แล้วเริ่มเซิร์ฟเวอร์สำหรับการพัฒนา:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

ตัวอย่าง 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"
โปรดทราบ:
endpoint นี้เป็นตัวอย่างและไม่สามารถนำไปใช้ได้โดยตรง โปรดขอรับและตั้งค่า endpoint ที่เหมาะสมกับสภาพแวดล้อมของคุณ
  1. Build และรัน client:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode
เปิด Dashboard: https://dashboard.erpc.global/th

Solana Stream SDK

Solana Stream SDK
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