Solana Geyser gRPC - 快速入門

安裝 SLV

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

$ slv b init

slv b init
只需一條命令 slv b init,即可立即搭建基於高效能流資料的 Solana 機器人開發環境。
bash
slv b init
  • 如果您偏好 TypeScript Geyser 機器人,請選擇 geyser-ts
  • 如果您偏好 Rust Geyser 機器人,請選擇 geyser-rust

允許 ICMP 延遲探測來源

選擇 gRPC 區域時,ERPC 會從下列代理主機向您已註冊的 IP 傳送 ICMP 延遲探測。請允許來自所有列出來源 IP 的傳入 ICMP Echo Request。如果防火牆(ufw、雲端防火牆、安全性群組等)阻擋這些要求,測量結果可能變為 9999ms,並可能選到非最佳區域。同一區域中的多個 IP 分別屬於不同的探測主機,必須全部允許。
區域ICMP 來源 IP
🇳🇱 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

Burst gRPC 端點

Geyser gRPC Burst 是 ERPC 為延遲敏感型 Solana 串流工作負載提供的低延遲共享 gRPC 層級。Burst 使用與常規 gRPC 服務相同的 Yellowstone/Geyser gRPC 介面,因此現有 gRPC 用戶端可以繼續使用標準的 account、transaction、slot 和 block 訂閱。
Burst 使用上方列出的相同區域 ICMP 探測來源,依延遲選擇區域。以下位址是 Burst 用戶端端點 IP,而非 ICMP 探測來源;只有在對外連線防火牆限制連線至所選端點時,才需要允許這些位址。
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
註冊 IP 後,請使用 ERPC Web Dashboard 中顯示的端點。Burst 仍是完整的 Geyser gRPC stream;Direct Shreds/ShredStream 是用於原始 shred 資料的獨立 UDP 產品。

Geyser 客戶端示例 - TypeScript

  1. .env.sample 重新命名為 .env
  2. 使用您的實際值編輯 .env
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
請注意:
此端點為示例,不能直接使用。請獲取並配置適合您環境的端點。
  1. 安裝依賴並啟動開發伺服器:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Geyser 客戶端示例 - Rust

  1. .env.sample 重新命名為 .env
  2. 使用您的實際值編輯 .env
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
請注意:
此端點為示例,不能直接使用。請獲取並配置適合您環境的端點。
  1. 構建並執行客戶端:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

✅ 提供 1 天免費試用

Geyser 和 Shreds 機器人均可透過 ERPC Web 儀表盤 官方伺服器免費試用 1 天。

Solana Stream SDK

Solana Stream SDK
透過 slv b init 命令下載的啟動程式碼中使用的 Geyser 介面卡 由開源專案 Solana Stream SDK 提供。
它同時支援 Rust 和 TypeScript,能夠高效實現 Solana 流通訊, 包括 Geyser 訂閱、交易處理和實時賬戶更新監控。
您獲得的啟動程式碼是該 SDK 實際應用的直接示例, 便於您擴充套件用於自己的機器人開發或自定義邏輯。
更多詳情請訪問 GitHub 倉庫: https://github.com/ValidatorsDAO/solana-stream