Solana Geyser gRPC - Hướng dẫn nhanh

Cài đặt SLV

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

$ slv b init

slv b init
Chỉ với một lệnh duy nhất, slv b init, bạn có thể khởi tạo ngay môi trường phát triển cho Solana bot sử dụng dữ liệu stream hiệu suất cao.
bash
slv b init
  • Sử dụng geyser-ts nếu bạn muốn bot Geyser bằng TypeScript
  • Sử dụng geyser-rust nếu bạn muốn bot Geyser bằng Rust

Cho phép các nguồn thăm dò độ trễ ICMP

Để chọn khu vực cho gRPC, ERPC gửi các gói thăm dò độ trễ ICMP đến IP đã đăng ký của bạn từ các máy chủ proxy được liệt kê bên dưới. Hãy cho phép các yêu cầu ICMP echo đến từ mọi IP nguồn được liệt kê. Nếu bị tường lửa (ufw, tường lửa đám mây, nhóm bảo mật, v.v.) chặn, kết quả đo có thể trở thành 9999ms và một khu vực không tối ưu có thể được chọn. Nhiều IP trong cùng một khu vực là các máy chủ thăm dò riêng biệt; tất cả đều bắt buộc.
Khu vực thăm dòIP nguồn ICMP
🇳🇱 Amsterdam84.32.103.245, 84.32.64.77
🇺🇸 New York64.130.37.222
🇩🇪 Frankfurt185.191.118.149, 185.191.118.177, 185.191.118.206
🇬🇧 London67.209.52.250
🇯🇵 Tokyo198.13.133.88
🇸🇬 Singapore202.8.11.52
🇦🇺 Sydney82.26.116.36
🛰️ Far Point63.254.162.14

Endpoint Burst gRPC

Geyser gRPC Burst là tầng gRPC chia sẻ độ trễ thấp của ERPC dành cho các workload stream Solana nhạy với độ trễ. Burst dùng cùng giao diện Yellowstone/Geyser gRPC như dịch vụ gRPC thông thường, nên các gRPC client hiện có vẫn có thể dùng subscription tiêu chuẩn cho account, transaction, slot và block.
Burst sử dụng các nguồn thăm dò ICMP theo khu vực đã liệt kê ở trên để chọn khu vực dựa trên độ trễ. Các địa chỉ bên dưới là IP của endpoint máy khách Burst, không phải nguồn thăm dò ICMP; chỉ cho phép chúng nếu tường lửa cho lưu lượng đi của bạn hạn chế kết nối đến endpoint đã chọn.
RegionBurst DomainIP Address
🇩🇪 Frankfurtgrpc-fra1-burst.erpc.global64.130.41.234
🇳🇱 Amsterdamgrpc-ams1-burst.erpc.global64.130.55.180
🇺🇸 New Yorkgrpc-ny6-burst.erpc.global64.130.59.217
🇯🇵 Tokyogrpc-tokyo-burst.erpc.global208.91.107.247
🇸🇬 Singaporegrpc-singapore-burst.erpc.global67.209.55.15
Sau khi đăng ký IP, hãy dùng endpoint hiển thị trong ERPC Web Dashboard. Burst vẫn là một stream Geyser gRPC đầy đủ; Direct Shreds/ShredStream là sản phẩm riêng dựa trên UDP dành cho dữ liệu shred thô.

Ví dụ Geyser Client – TypeScript

  1. Đổi tên .env.sample thành .env
  2. Chỉnh sửa .env với các giá trị thực tế của bạn:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Xin lưu ý:
Endpoint này là mẫu và không thể sử dụng trực tiếp. Vui lòng lấy và cấu hình endpoint phù hợp cho môi trường của bạn.
  1. Cài đặt dependencies và khởi động development server:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Ví dụ Geyser Client – Rust

  1. Đổi tên .env.sample thành .env
  2. Chỉnh sửa .env với các giá trị thực tế của bạn:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Xin lưu ý:
Endpoint này là mẫu và không thể sử dụng trực tiếp. Vui lòng lấy và cấu hình endpoint phù hợp cho môi trường của bạn.
  1. Build và chạy client:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

✅ Dùng thử miễn phí 1 ngày

Cả bot Geyser và Shreds đều có thể được thử nghiệm miễn phí trong 1 ngày thông qua server bảng điều khiển ERPC Web.
Mở dashboard tại đây: https://dashboard.erpc.global/vi

Solana Stream SDK

Solana Stream SDK
Geyser adapter được sử dụng trong mã khởi đầu tải về qua lệnh slv b init được cung cấp bởi Solana Stream SDK mã nguồn mở.
SDK hỗ trợ cả Rust và TypeScript, cho phép triển khai hiệu quả giao tiếp stream Solana, bao gồm Geyser subscription, xử lý transaction, và giám sát cập nhật account thời gian thực.
Mã khởi đầu bạn nhận được là ví dụ trực tiếp của SDK này đang hoạt động, giúp dễ dàng mở rộng cho việc phát triển bot hoặc logic tùy chỉnh của riêng bạn.
Để biết thêm chi tiết, hãy truy cập GitHub repository: https://github.com/ValidatorsDAO/solana-stream