Solana SWQoS 端點文件
什麼是 SWQoS 端點?
ERPC 提供的 SWQoS 端點是一種高效能 RPC 服務,允許擁有質押連線的使用者透過專用通道傳送交易。
該服務適用於共享和專用計劃,能夠實現更快速、更可靠的交易傳輸。
您可以透過在 ERPC Web 儀表盤 官方伺服器上註冊您的 elSOL 持有量來獲取端點。
- ERPC Web 儀表盤:https://dashboard.erpc.global/en
什麼是 SWQoS?
**SWQoS(Stake weighted Quality of Service,質押加權服務質量)**是一種優先處理具有質押連線的驗證者的通訊控制機制。
Leader 將大約 80% 的總頻寬分配給優先通道,20% 分配給非優先通道。
具有質押連線的流量可以利用優先通道,同時也會透過非優先通道傳送。因此,與僅依賴非優先通道的流量相比,有效傳輸能力顯著增大。
此控制在 Priority fee 處理之前應用,即在流量被接收並路由到 Leader 的階段,這意味著交易是否進入優先通道直接影響下游處理速度。
與 Priority Fee 的關係
Priority fee 發揮著重要作用,但它是在交易透過 SWQoS 路由到達 Leader 之後才應用的。
如果交易無法進入 SWQoS 優先通道,Priority fee 的效果將受到限制,基本可達性也難以提升。
為了獲得最佳執行效果,最有效的方式是將基於 SWQoS 的可達性與適當的 Priority fee 設定相結合。
成本結構的轉變
在傳統的交易提交服務中,使用者在傳送交易時需要附加 Tips(小費)。
使用 ERPC 的 SWQoS 端點,無需支付 Tips。取而代之的是,透過持有 elSOL 來獲得優先頻寬訪問許可權。
elSOL 是 Solana 上的一種流動性質押代幣(LST),透過質押 SOL 發行。
隨著質押獎勵的累積,其相對於 SOL 的價值會增加,並非固定在 1:1 的比率。
例如,長期持有 1 elSOL 可能會逐漸變為"1 elSOL = 1.1 SOL"或"1 elSOL = 1.2 SOL"。
elSOL 可以透過解除質押流程轉換回 SOL,結算時會反映累積的質押獎勵。
透過 elSOL 質押的 SOL 被委託給連線到 ERPC 的驗證者。
隨著 elSOL 持有量的增加,ERPC 可用的總 SWQoS 頻寬也會擴大。
透過持有 elSOL,使用者直接為增強網路做出貢獻,並獲得專用傳輸通道的訪問許可權作為回報。
- elSOL 官方網站:https://elsol.app/en
頻寬分配(TPS 結構)
對於共享 SWQoS 端點,可用 TPS 按 elSOL 持有量 ÷ 4.2 計算並向下取整。
例如,持有 10 elSOL 可獲得 2 TPS。
實際可用上限取決於以下兩者中較小的值:
- 所訂閱計劃允許的最大 TPS,或
- 基於 elSOL 持有量推算的 TPS。
使用 SWQoS 端點需要 Developer Plan 或更高階別的計劃,Bundle Plan 同樣適用。
- ERPC Web 儀表盤:https://dashboard.erpc.global/en
連線保活(Keep Alive)
使用 ERPC 的 Solana SWQoS 端點時,向
/ping 傳送 GET 請求可以維持客戶端與 ERPC SWQoS 端點之間的 HTTPS 連線。提交交易時,首次請求需要花費少量時間建立 HTTPS 和 TLS 會話。
透過預先傳送
/ping 並保持連線活躍,您可以在傳送實際交易時避免初始連線延遲,立即進入交易提交流程。即使交易並非連續傳送,這種方法對於需要在特定時刻快速傳送交易的場景也很有效,有助於穩定初始提交行為。
Ping 端點
保活操作透過向 SWQoS 端點的
/ping 傳送 GET 請求來執行。
此請求不處理任何交易,僅用於維持客戶端與 ERPC 之間的連線狀態。端點格式(HTTPS)
text
https://<your-swqos-endpoint-domain>/pinghttps://<your-swqos-endpoint-domain>/ping將
<your-swqos-endpoint-domain> 替換為 ERPC 提供的 SWQoS 專用域名。使用示例
定期保活示例(JavaScript)
typescript
async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Ignore failures
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Ignore failures
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)透過定期傳送
/ping,您可以保持在需要時立即開始交易提交的狀態。注意事項
・
/ping 不消耗 TPS,也不影響基於 elSOL 的頻寬計算
・它不能替代交易提交
・這是一個僅用於維持客戶端到 ERPC 連線的補充請求SWQoS(基於質押的路由)和 Priority fee 的設計保持不變。
將保活作為一種在交易提交開始時減少延遲的機制使用。