Tài liệu Solana SWQoS Endpoint
SWQoS Endpoint là gì?
SWQoS Endpoint do ERPC cung cấp là dịch vụ RPC hiệu suất cao cho phép người dùng có kết nối stake gửi transaction qua các làn chuyên dụng.
Nó khả dụng cho cả gói chia sẻ và gói chuyên dụng, cho phép gửi transaction nhanh hơn và đáng tin cậy hơn.
Endpoint có thể được lấy bằng cách đăng ký số dư elSOL của bạn trên Discord chính thức của Validators DAO.
- Discord Validators DAO: https://discord.gg/C7ZQSrCkYR
SWQoS là gì?
SWQoS (Stake weighted Quality of Service) là cơ chế kiểm soát giao tiếp ưu tiên validator có kết nối stake.
Leader phân bổ khoảng 80% tổng băng thông cho làn ưu tiên và 20% cho làn không ưu tiên.
Lưu lượng có kết nối stake có thể sử dụng làn ưu tiên đồng thời cũng được gửi qua làn không ưu tiên. Kết quả là, so với lưu lượng chỉ phụ thuộc vào làn không ưu tiên, khả năng gửi hiệu quả lớn hơn đáng kể.
Kiểm soát này được áp dụng trước khi xử lý Priority fee, ở giai đoạn lưu lượng được chấp nhận và định tuyến đến leader, nghĩa là việc transaction có đến được làn ưu tiên hay không ảnh hưởng trực tiếp đến tốc độ xử lý hạ nguồn.
Mối quan hệ với Priority Fee
Priority fee đóng vai trò quan trọng, nhưng nó được áp dụng sau khi transaction đã đến leader qua định tuyến SWQoS.
Nếu transaction không thể vào làn ưu tiên SWQoS, hiệu quả của Priority fee trở nên hạn chế, và việc cải thiện khả năng tiếp cận cơ bản trở nên khó khăn.
Để vận hành tối ưu, cách hiệu quả nhất là kết hợp khả năng tiếp cận dựa trên SWQoS với cài đặt Priority fee phù hợp.
Thay đổi cấu trúc chi phí
Trong các dịch vụ gửi transaction thông thường, người dùng phải đính kèm Tips khi gửi transaction.
Với SWQoS Endpoint của ERPC, không cần Tips. Thay vào đó, quyền truy cập băng thông ưu tiên được cấp thông qua nắm giữ elSOL.
elSOL là một Liquid Staking Token (LST) trên Solana, được phát hành bằng cách stake SOL.
Giá trị của nó tăng so với SOL khi phần thưởng staking tích lũy, và không cố định ở tỷ lệ 1:1.
Ví dụ, nắm giữ 1 elSOL theo thời gian có thể dần trở thành "1 elSOL = 1.1 SOL" hoặc "1 elSOL = 1.2 SOL".
elSOL có thể được chuyển đổi lại thành SOL thông qua quy trình unstaking, với thanh toán phản ánh phần thưởng staking đã tích lũy.
SOL được stake qua elSOL được ủy quyền cho các validator kết nối với ERPC.
Khi số lượng elSOL nắm giữ tăng, tổng băng thông SWQoS khả dụng trên ERPC mở rộng.
Bằng cách nắm giữ elSOL, người dùng đóng góp trực tiếp vào việc tăng cường mạng lưới và đổi lại, có quyền truy cập vào các làn truyền chuyên dụng.
- Website chính thức elSOL: https://elsol.app/en
Phân bổ băng thông (Cấu trúc TPS)
Đối với SWQoS Endpoint chia sẻ, TPS khả dụng được tính là số elSOL nắm giữ ÷ 4.2, làm tròn xuống.
Ví dụ, nắm giữ 10 elSOL được cấp 2 TPS.
Giới hạn thực tế có thể sử dụng được xác định bởi giá trị nhỏ hơn của:
- TPS tối đa cho phép bởi gói đăng ký, hoặc
- TPS được tính từ số elSOL nắm giữ.
Cần gói Developer trở lên để sử dụng SWQoS endpoint, và gói Bundle cũng đủ điều kiện.
- Discord Validators DAO: https://discord.gg/C7ZQSrCkYR
Duy trì kết nối (Keep Alive)
Với SWQoS endpoint Solana của ERPC, việc gửi GET request đến
/ping cho phép bạn duy trì kết nối HTTPS giữa client và ERPC SWQoS endpoint.Khi gửi transaction, request đầu tiên tốn một khoảng thời gian nhỏ cho việc thiết lập phiên HTTPS và TLS.
Bằng cách gửi
/ping trước và duy trì kết nối này, bạn có thể tránh độ trễ kết nối ban đầu và bắt đầu quy trình gửi transaction ngay lập tức khi gửi transaction thực tế.Ngay cả khi transaction không được gửi liên tục, cách tiếp cận này hiệu quả cho các thiết lập mà transaction phải được gửi nhanh vào những thời điểm cụ thể, giúp ổn định hành vi gửi ban đầu.
Ping Endpoint
Duy trì kết nối được thực hiện bằng cách gửi GET request đến
/ping trên SWQoS endpoint.
Request này không xử lý bất kỳ transaction nào và chỉ được sử dụng để duy trì trạng thái kết nối giữa client và ERPC.Định dạng Endpoint (HTTPS)
text
https://<your-swqos-endpoint-domain>/pinghttps://<your-swqos-endpoint-domain>/pingThay
<your-swqos-endpoint-domain> bằng domain SWQoS cụ thể do ERPC cung cấp.Ví dụ sử dụng
Ví dụ Keep Alive định kỳ (JavaScript)
typescript
async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Bỏ qua lỗi
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Bỏ qua lỗi
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)Bằng cách gửi
/ping theo khoảng thời gian đều đặn, bạn có thể duy trì trạng thái mà việc gửi transaction có thể bắt đầu ngay lập tức khi cần.Lưu ý
/pingkhông tiêu tốn TPS hoặc ảnh hưởng đến tính toán băng thông dựa trên elSOL- Nó không phải là thay thế cho việc gửi transaction
- Đây là request bổ sung chỉ được sử dụng để duy trì kết nối client-đến-ERPC
Thiết kế của SWQoS (định tuyến dựa trên stake) và Priority fee vẫn không thay đổi.
Sử dụng Keep Warming như một cơ chế để giảm độ trễ tại thời điểm bắt đầu gửi transaction.