常見問題 - Direct Shreds

問:我的 Shreds / getBlock 輸出突然壞掉,或是回傳 -32015,發生了什麼變化?

Solana Transaction v1(SIMD-0385)已於 2026 年 9 月 15 日在 Solana 主網上線,對應 epoch 1035。v1 交易的 wire 格式以版本前綴位元組 0x81 開頭,簽章位於訊息之後,而且不再有 legacy 的長度前綴。
如果你自行解碼 ShredStream、Direct Shreds 或 UDP Forwarding 的 entry,低於 4.2 版的 bincode 或 solana-entry 解碼器會把這個 0x81 位元組誤判為簽章數量,表現為 EOF 錯誤、compact-length 溢位,或 "invalid message version" 錯誤。使用 4.2 之前的 crate 反序列化原始交易的 Geyser gRPC 使用者也會碰到同樣的問題。以 maxSupportedTransactionVersion: 0 呼叫 getBlock 和 getTransaction 時,RPC 會回傳 -32015 Transaction version (1) is not supported by the requesting client;getTransactionsForAddress 在 full 模式下會對每一筆受影響的資料列回報同樣的錯誤。如果你已經在讀取 ERPC 解析後的 JSON 回應並設定了 version 1,則不受影響。
在 options 物件中把 maxSupportedTransactionVersion 設為 1,也就是 getBlock 和 getTransaction 的第二個參數,以及 getTransactionsForAddress 的 options:
json
{
  "maxSupportedTransactionVersion": 1
}
將 Solana Stream SDK 升級到 2.0.0:crates.io 上的 Rust solana-stream-sdk,或 npm 上的 @validators-dao/solana-stream-sdk 與 @validators-dao/solana-shreds-client。@validators-dao/solana-entry-decoder 需另外升級到 2.5.0。1.4.0 與 entry-decoder 2.4.0 不支援 v1。自行撰寫的 Rust 解碼器應改用 solana-entry 4.2.x。

問:你們的節點位於哪些區域?

我們目前在以下區域運營節點:
  • 法蘭克福(FRA)
  • 阿姆斯特丹(AMS)
  • 倫敦(LON)
  • 都柏林(DUB)
  • 紐約(NY)
  • 芝加哥(CHI)
  • 鹽湖城(SLC)
  • 東京(TY)
  • 新加坡(SGP)
  • 雪梨(SYD)
ERPC 基於實際路由路徑測量網路延遲,自動選擇延遲最低的區域,而不是依賴直線距離。
如果您的環境未能自動選擇最優區域,請在 ERPC Web 儀表盤中聯絡我們。

問:延遲顯示 9999ms 且選擇了非最優區域。該怎麼辦?

選擇 Shreds 區域時,ERPC 會從下列代理主機向您已註冊的 IP 傳送 ICMP 延遲探測。請允許來自所有列出來源 IP 的傳入 ICMP Echo Request。如果防火牆(ufw、雲端防火牆、安全性群組等)阻擋這些要求,測量結果可能變為 9999ms,並可能選到非最佳區域。同一區域中的多個 IP 分別屬於不同的探測主機,必須全部允許。
區域ICMP 來源 IP
🇳🇱 Amsterdam64.130.43.108, 82.21.43.35
🇺🇸 New York151.243.244.162
🇩🇪 Frankfurt64.130.41.236, 151.241.178.73
🇯🇵 Tokyo143.20.238.88
🇸🇬 Singapore67.209.55.19, 151.245.186.3
🇬🇧 London64.130.63.211, 151.241.65.10

已選擇 Far Point

Shared Shreds 的 Far Point 是容量有限的備援選項。每個端點為所有客戶提供的同時代理串流總數最多為 32 條,而不是每位客戶各有 32 個名額。訂閱端在所選 Shreds 端點附近執行時,串流效能最佳;長距離串流會更長時間占用共用連線、流量控制視窗與輸出容量。為協助維持共用環境的回應能力,請允許所有列出的區域 ICMP 探測來源 IP 位址,並再次執行區域選擇。如需持續使用,請考慮在所選端點附近使用 ERPC VPS。如需不同地理位置,請在初始設定期間選擇一個可用區域,並將有效且非空的公開 IPv4 位址與連接埠設定為目的地。設定完成後,所選區域保持固定,目的地之後可以更新。

問:我已經將 IP 加入白名單,但仍然無法連線。應該檢查什麼?

ERPC gRPC 和 Shreds 端點使用受 IP 白名單保護的普通 HTTP 80 連接埠,不使用 443 連接埠的 HTTPS/TLS。
如果您複製其他服務商的用戶端範例,它可能預設使用 :443 或 HTTPS。只替換網域時,連接埠和 TLS 設定可能仍然保留,導致連線失敗。
以下端點僅為範例。請替換為 dashboard 中顯示的您自己的端點。請使用 HTTP 形式;如果用戶端要求填寫 host 和 port,請明確使用 80 連接埠:
  • 不可用:shreds-fra6-1.erpc.global:443
  • 可用:shreds-fra6-1.erpc.global:80
  • 可用 URL 形式:http://shreds-fra6-1.erpc.global
認證基於您已註冊的 IP 位址。除非特定產品頁面明確要求,否則 ERPC gRPC 或 Shreds 端點不需要加入 x-token、token 或 Authorization header。

問:我以前只用過 WebSocket 或 Geyser gRPC(YellowStone)。你們有示例嗎?

有。您可以使用 SLV 快速開始測試 Shreds 連線和應用程式開發。
請參閱以下指南瞭解詳情:

問:我可以註冊兩個 IP 地址嗎?

每個訂閱可以使用一個端點。如果您希望使用兩個 IP 地址,必須訂閱兩個獨立的訂閱。

問:推薦哪個區域?

沒有一個永遠最好的區域。Solana 是全球網路,leader 角色隨著 slot 的推進在 validator 之間輪換。驗證者數量和質押量較多的區域中,leader slots 出現的頻率更高,交易落地更具優勢。但相應地,競爭流量也會同步集中,因此根據您的策略,競爭相對較少的區域有時反而能取得更好的效果。
基本原則是:以穩定的 leader slots 供給為優先時,選擇驗證者集中的區域,例如法蘭克福或美國東海岸;以面向特定 target validator 的最短路徑執行為優先時,選擇目標附近的區域。請使用 Validators Solutions 瞭解 Solana 網路的公開分佈,然後結合 ERPC Leader Slot API 和實際測量判斷單區域、雙區域或全球部署是否合適。
Solana Mainnet Distribution Report

問:我需要至少約 400ms 或更好的延遲。

要實現約 400ms 以內的延遲,請考慮以下要點:
  • 對 Ping 值的現實理解:Ping 值不反映流通訊中的實際延遲。必須在同一區域內建立基礎設施。
    • 典型 Ping 值參考:同一網路 ~0.1ms、同一資料中心 ~0.3ms、同一城市 ~1ms、鄰國 ~5-10ms、跨洲 ~100-300ms
  • 避免平均延遲的陷阱:精確跟蹤特定區域的驗證者排程。
  • 跟蹤 Leader 排程:使用 ERPC Leader Slot API(getLeaderSlots)。
Validators Solutions - Solana 網路資料
Solana 網路資料:Validators Solutions

問:如何實現零區塊(零 slot)交易?

  • 識別機會區域:監控 Leader 排程。使用 ERPC Leader Slot API(getLeaderSlots)。
  • 部署專用節點:共享節點由於其他使用者的流量會產生延遲。

問:我可以使用特定端點嗎?

為了維護低延遲環境,我們的系統會自動選擇最近的可用節點。如果您希望使用特定端點,我們建議租用距離該端點最近的伺服器。

問:為什麼專用端點更快?

共享端點由多個客戶共同使用相同的資源。使用專用端點時您是資源的唯一使用者。此外,專用端點提供無 TLS 的通訊選項。

問:簽約後促銷價會被上調嗎?

在訂閱有效期內,您簽約時鎖定的促銷價將保持不變。能夠承擔 Solana 實時工作負載的執行環境在全球範圍內都很稀缺,我們計劃隨著硬體和網路需求的持續增長,分階段上調標準價格。高規格配置和需求集中的區域庫存會更快售罄,因此以當前促銷價鎖定訂閱是長期控制成本最有利的選擇。

問:我想用加密貨幣支付

當註冊帳單地址的國家/地區屬於 歐盟成員國時,即可在 ERPC Web Dashboard 中使用加密貨幣付款。您可以使用 SOL、USDC 或 EURC 購買 ERPC Credits。
這些 ERPC Credits 可用於啟用或續用 ERPC 方案。開啟 dashboard,選擇 crypto payment,從您的 wallet 發送轉帳,dashboard 會驗證交易並將 credits 加入您的 account。
支援國家/地區:丹麥、比利時、立陶宛、匈牙利、西班牙、克羅埃西亞、希臘、拉脫維亞、法國、波蘭、芬蘭、保加利亞、馬爾他、捷克、荷蘭、斯洛伐克、斯洛維尼亞、奧地利、愛沙尼亞、愛爾蘭、瑞典、義大利、葡萄牙、德國、盧森堡、賽普勒斯、羅馬尼亞。
如果您的國家/地區不在清單中,請使用信用卡付款。

問:為什麼 ShredStream 不包含所有交易?

按設計,Shreds 不包含 Solana 區塊鏈上的每一筆交易。監控所有交易需要在全球部署大量代理並從每個驗證者接收 Shreds,這在實踐中不可行。
通常,使用者使用可用資料的子集進行操作,因為這種方法對於大多數實際應用已經足夠。如果您的使用場景需要完整的資料覆蓋而不能有任何遺漏,Shreds 可能不適合。
對於需要更全面監控的場景,Geyser gRPC 提供比 Shreds 更高的可靠性。Geyser gRPC 提供超過 99% 的可靠性,而 Shreds 通常提供超過 90% 的可靠性。
雖然它們不能捕獲每一筆交易,但其關鍵優勢在於能夠比 Geyser gRPC 更快地檢索大多數交易。
如需更深入瞭解,我們推薦探索 Solana 的 Turbine 和 Gulf Stream 協議:

問:我想要最好的環境。

對於 UDP Forwarding Standard,請在初始設定時選擇可用區域,並將有效且非空的公用 IPv4 位址與連接埠設定為目的地。設定完成後,所選區域會保持固定,但之後可以更新目的地。
請在 ERPC Web 儀表盤中聯絡我們。

問:延遲是怎樣的?

延遲因測量方法和使用環境而異。
我們提供易於使用的 TypeScript 和 Rust 延遲測量工具。

問:這個 RPC(gRPC、Shreds)比其他的快嗎?

我們在每個價格檔位都以速度為設計目標,歡迎您把我們與任何其他供應商放在同等條件下比較。結果會隨區域、使用共享端點或專用端點、所用協定(WebSocket、gRPC 或 Shreds)以及用戶端的程式語言而變化。
如果您發現我們的服務更慢,請透過 ERPC Web 儀表盤 告訴我們。

問:哪個計劃提供最快的效能?

通常,我們最高階別的計劃提供最快的效能。

問:我遇到了高延遲。為什麼?

延遲隨著與端點距離的增加而顯著增加。最快的環境可透過我們的裸金屬伺服器和 VPS 服務獲得。

問:WebSocket、gRPC 和 Shreds 哪個最快?

根據客戶回饋:
Shreds > gRPC > WebSocket

問:延遲不如預期。

效能因程式語言而異:
Rust > Go > TypeScript (JavaScript) > Python
我們強烈推薦使用 Rust。