Solana SWQoS エンドポイント ドキュメント
SWQoS エンドポイントとは
ERPC が提供する SWQoS エンドポイント は、ステーク接続を持つユーザーが専有レーンでトランザクションを送信できる高性能 RPC サービスです。
共有プランでも専有プランでも利用可能で、トランザクションをより速く、より確実に届けることができます。
共有プランでも専有プランでも利用可能で、トランザクションをより速く、より確実に届けることができます。
エンドポイントは、Validators DAO 公式 Discord 上で elSOL 保有を登録することで入手できます。
- Validators DAO 公式 Discord: https://discord.gg/C7ZQSrCkYR
SWQoS とは
SWQoS(Stake weighted Quality of Service)は、ステーク接続を持つバリデータを優先する通信制御 です。
リーダーは帯域の約 80% を優先帯域、20% を非優先帯域 に割り当てます。
ステーク接続を持つ通信は優先帯域を利用できる一方で、非優先帯域にも同時に送信されるため、非優先帯域のみに依存する通信と比べて、実効的な到達余地が大きくなります。
この制御は Priority fee の評価より前の段階(リーダー到達前の通信受け入れ) で適用されるため、まず SWQoS によって優先レーンへ到達できるかどうかが、後段の高速処理に影響します。
リーダーは帯域の約 80% を優先帯域、20% を非優先帯域 に割り当てます。
ステーク接続を持つ通信は優先帯域を利用できる一方で、非優先帯域にも同時に送信されるため、非優先帯域のみに依存する通信と比べて、実効的な到達余地が大きくなります。
この制御は Priority fee の評価より前の段階(リーダー到達前の通信受け入れ) で適用されるため、まず SWQoS によって優先レーンへ到達できるかどうかが、後段の高速処理に影響します。
Priority fee との関係
Priority fee は重要ですが、適用されるのは SWQoS によってリーダーへ到達した後の段階 です。
SWQoS 優先レーンに入れない場合、Priority fee の効果は限定的になりやすく、到達性そのものを改善することは困難になります。
最適な運用には、SWQoS による到達性の確保と Priority fee の設定を組み合わせる ことが効果的です。
SWQoS 優先レーンに入れない場合、Priority fee の効果は限定的になりやすく、到達性そのものを改善することは困難になります。
最適な運用には、SWQoS による到達性の確保と Priority fee の設定を組み合わせる ことが効果的です。
コスト構造の転換
従来の送信サービスでは、Tip(チップ)を添付してトランザクションを送る必要がありました。
ERPC の SWQoS エンドポイントでは Tip を送る必要はなく、代わりに elSOL の保有 によって優先帯域を利用できます。
ERPC の SWQoS エンドポイントでは Tip を送る必要はなく、代わりに elSOL の保有 によって優先帯域を利用できます。
elSOL は Solana の Liquid Staking Token(LST) であり、SOL をステークすることで発行されます。
elSOL の価値はステーク報酬を反映して SOL に対して増加していき、1:1 では固定されません。
たとえば 1 elSOL を保有し続けると、時間とともに「1 elSOL = 1.1 SOL」「1 elSOL = 1.2 SOL」と増えていきます。
elSOL はアンステーク手続きを通じて SOL へ戻すことができ、ステーク報酬を反映した価値での清算が行われます。
elSOL の価値はステーク報酬を反映して SOL に対して増加していき、1:1 では固定されません。
たとえば 1 elSOL を保有し続けると、時間とともに「1 elSOL = 1.1 SOL」「1 elSOL = 1.2 SOL」と増えていきます。
elSOL はアンステーク手続きを通じて SOL へ戻すことができ、ステーク報酬を反映した価値での清算が行われます。
elSOL のステーク先は ERPC に接続されたバリデータであり、保有量が増えるほど ERPC 全体の SWQoS BandWidth が拡張されます。
elSOL ホルダーは自らの保有によってネットワーク強化に貢献し、その対価として専有レーンを利用できます。
elSOL ホルダーは自らの保有によってネットワーク強化に貢献し、その対価として専有レーンを利用できます。
- elSOL 公式サイト: https://elsol.app/ja
帯域割当(TPS の仕組み)
共有 SWQoS エンドポイントでは、利用可能な TPS は elSOL 保有数 ÷ 4.2 で算出されます(端数切り捨て)。
たとえば 10 elSOL を保有している場合、2 TPS が付与されます。
たとえば 10 elSOL を保有している場合、2 TPS が付与されます。
実際の上限は「契約プランの最大 TPS」と「elSOL に基づく TPS」の小さい方が採用されます。
Developer プラン以上の契約が前提であり、Bundle プランも対象に含まれます。
Developer プラン以上の契約が前提であり、Bundle プランも対象に含まれます。
- Validators DAO 公式 Discord: https://discord.gg/C7ZQSrCkYR
Connection Keep Warming(Keep Alive)
ERPC の Solana SWQoS エンドポイントでは、
/ping に GET リクエストを送ることで、クライアントから ERPC の SWQoS エンドポイントへの HTTPS 接続を維持 できます。トランザクションを送信する際、最初の通信では HTTPS 接続および TLS セッション確立にわずかな時間がかかります。
あらかじめ
あらかじめ
/ping を送ってこの接続を維持しておくことで、実際にトランザクションを送る瞬間に初期の接続遅延を挟まず、すぐ送信処理に入る ことができます。普段は送信していなくても、必要なタイミングで速く送りたい構成では、事前に Keep Warming を行っておくことで送信開始時の挙動が安定します。
Ping エンドポイント
Keep Warming は、SWQoS エンドポイントの
このリクエストはトランザクション処理を行わず、クライアントと ERPC 間の通信経路における接続状態のみを維持します。
/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 {
// 失敗時は無視
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// 失敗時は無視
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)一定間隔で
/ping を送っておくことで、トランザクション送信時にすぐ処理へ入れる状態 を維持できます。注意点
・
/ping は TPS 消費や elSOL に基づく帯域計算には影響しません
・トランザクションの代わりにはなりません
・クライアントと ERPC 間の接続を維持するための補助的なリクエストですSWQoS(ステーク接続)と Priority fee の設計はそのままに、送信開始時の遅延を抑えるための仕組み として Keep Warming を利用してください。