
Ra mắt: Enhanced WebSockets thế hệ mới
Mục lục
- Những thách thức của WebSockets và ứng dụng thời gian thực
- 1. Kết nối thiếu ổn định và tải nặng
- 2. Dữ liệu tràn ngập
- 3. Khả năng mở rộng và chi phí tài nguyên
- 4. Thời gian phát triển bị rút khỏi hoạt động đổi mới sản phẩm
- Enhanced WebSockets thế hệ mới
- Khả năng phục hồi hàng đầu
- Hiệu năng cao
- Luồng được tối ưu hóa cho frontend
- Chọn giải pháp truyền phát phù hợp: So sánh
- Enhanced WebSockets
- LaserStream
- Shred Delivery
- Bắt đầu nhanh với Enhanced WebSockets
- Endpoint
- Ví dụ: Theo dõi các pool Raydium Launchpad mới
- Giá và đo lường mức sử dụng
- Nâng tầm luồng dữ liệu ngay hôm nay
Truyền phát dữ liệu theo thời gian thực là yếu tố thiết yếu để xây dựng các ứng dụng có độ phản hồi cao trên Solana. WebSockets từ lâu đã là giao thức được ưu tiên để duy trì giao tiếp hai chiều, thay thế việc thăm dò HTTP kém hiệu quả bằng một kết nối duy nhất.
Mặc dù WebSockets lý tưởng hơn phương thức thăm dò HTTP truyền thống, giao thức này cũng kéo theo nhiều thách thức có thể làm suy giảm độ tin cậy, đặc biệt bất lợi trong các môi trường có thông lượng cao như Solana. Từ tình trạng ngắt kết nối ngẫu nhiên đến khả năng lọc không đầy đủ, những vấn đề này từ lâu đã buộc các nhà phát triển phải dành nhiều thời gian và công sức để xây dựng các biện pháp khắc phục tùy chỉnh, thường phải đánh đổi khả năng đổi mới sản phẩm cốt lõi.
Tại Helius, chúng tôi đã nhận thấy những khó khăn này từ lâu. Trước đây, chúng tôi đã giới thiệu Enhanced WebSockets, một lựa chọn nhanh hơn và có khả năng tùy chỉnh cao hơn để truyền phát các bản cập nhật giao dịch và tài khoản. Tuy nhiên, khi hạ tầng của chúng tôi phát triển, rõ ràng là ngay cả những cải tiến này vẫn chưa đạt đến mức độ bền bỉ và hiệu năng mà Helius có thể cung cấp.
Chúng tôi rất vui mừng thông báo rằng Enhanced WebSockets hiện được vận hành trên cùng hạ tầng với LaserStream, dịch vụ truyền phát gRPC thế hệ mới được xây dựng để mang lại tốc độ, sự đơn giản và khả năng chịu lỗi.
Sự tích hợp này mang độ tin cậy cấp gRPC đến các luồng WebSocket ở định dạng JSON thuần, loại bỏ các kết nối thiếu ổn định và cho phép các nhà phát triển frontend tập trung vào việc mang đến trải nghiệm người dùng tốt nhất có thể.
Những thách thức của WebSockets và ứng dụng thời gian thực
WebSockets hứa hẹn mang đến khả năng giao tiếp hai chiều, liên tục đầy ấn tượng—một kết nối duy nhất để gửi thông báo thay vì liên tục thăm dò các endpoint HTTP. Dù nghe có vẻ hấp dẫn, WebSockets vẫn tồn tại nhiều vấn đề:
1. Kết nối thiếu ổn định và tải nặng
WebSockets duy trì các kết nối TCP có trạng thái và tồn tại lâu dài. Điều này khiến kết nối dễ bị gián đoạn do sự cố mạng chớp nhoáng, proxy hết thời gian chờ hoặc máy chủ quá tải.
Thời gian slot 400 mili giây và lưu lượng tăng đột biến của Solana càng làm trầm trọng thêm các điểm yếu của WebSocket. Do đó, nhà phát triển buộc phải triển khai logic kết nối lại tùy chỉnh, chẳng hạn như khoảng lùi theo cấp số nhân và tín hiệu heartbeat ping, để duy trì thời gian hoạt động.
2. Dữ liệu tràn ngập
Các gói đăng ký WebSocket thường trả về quá nhiều dữ liệu.
Các gói đăng ký gốc, chẳng hạn như accountSubscribe, cung cấp luồng chưa được lọc, khiến nhà phát triển bị quá tải bởi dữ liệu nhiễu. Điều này buộc họ phải lọc ở phía máy khách, có thể làm tăng mức sử dụng băng thông và gây chậm trễ khi xử lý.
3. Khả năng mở rộng và chi phí tài nguyên
Việc xử lý hàng nghìn kết nối đồng thời gây áp lực lên tài nguyên máy chủ, dẫn đến rò rỉ bộ nhớ, nút thắt CPU, gia tăng độ phức tạp của bộ cân bằng tải và đòi hỏi phải phân mảnh kết nối để quản lý tải.
Mở rộng WebSockets theo chiều ngang vốn rất khó, và hầu hết các nhóm không có đủ thời gian, tài nguyên hoặc chuyên môn để hoàn thiện việc này.
4. Thời gian phát triển bị rút khỏi hoạt động đổi mới sản phẩm
Nhìn chung, những thách thức này lấy đi thời gian lẽ ra được dành để xây dựng các tính năng và ứng dụng mới, khác biệt. Sự kém hiệu quả này là một khoản chi phí ẩn đối với quá trình phát triển trong hệ sinh thái Solana biến đổi nhanh chóng.
Những thách thức dai dẳng này khiến WebSockets tiêu chuẩn của Solana không đáp ứng được yêu cầu của các ứng dụng cấp production, nơi ngay cả gián đoạn ngắn nhất cũng có thể đồng nghĩa với việc bỏ lỡ cơ hội hoặc giao diện người dùng hiển thị dữ liệu cũ.
Enhanced WebSockets thế hệ mới
Chúng tôi đã giới thiệu Enhanced WebSockets—phiên bản WebSockets tiêu chuẩn của Solana được cải tiến bằng Geyser để hỗ trợ đăng ký tài khoản và giao dịch tốt hơn—nhằm giải quyết những thiếu sót này.
Dịch vụ này cung cấp các bộ lọc mạnh mẽ (ví dụ: tối đa 50.000 địa chỉ thông qua accountInclude, accountExclude và accountRequired) cùng thời gian phản hồi nhanh hơn WebSockets truyền thống. Tuy nhiên, hạ tầng truyền phát dữ liệu của chúng tôi đã được cải thiện kể từ lần ra mắt đầu tiên.
Enhanced WebSockets hiện được vận hành trên cùng hạ tầng với LaserStream—dịch vụ truyền phát gRPC thế hệ mới của chúng tôi, được xây dựng để mang lại tốc độ, độ tin cậy và sự đơn giản.
Giờ đây, hãy trải nghiệm độ tin cậy của gRPC trong một lớp bọc WebSocket.
Các cải tiến chính bao gồm:
Khả năng phục hồi hàng đầu
Enhanced WebSockets hiện truyền phát đồng thời từ nhiều node được tổng hợp với khả năng tự động chuyển đổi dự phòng, giúp tăng khả năng phục hồi bằng cách loại bỏ mọi điểm lỗi đơn lẻ và bảo đảm thời gian hoạt động tối đa.
Hiệu năng cao
LaserStream được thiết kế chuyên biệt để truyền phát dữ liệu với độ trễ cực thấp. Giờ đây, Enhanced WebSockets cũng được hưởng lợi từ những cải tiến mới nhất của chúng tôi để cung cấp thông báo nhanh nhất có thể.
Luồng được tối ưu hóa cho frontend
Các payload JSON của Enhanced WebSockets, được hỗ trợ bởi hạ tầng nâng cấp, cho phép nhà phát triển frontend tích hợp trực tiếp các luồng có độ trung thực cao vào trình duyệt, ứng dụng React và máy khách di động.
Chọn giải pháp truyền phát phù hợp: So sánh
Tại Helius, chúng tôi cung cấp nhiều dịch vụ truyền phát dữ liệu được xây dựng cho từng trường hợp sử dụng cụ thể, như trình bày dưới đây.
Enhanced WebSockets
Nhà phát triển nên sử dụng Enhanced WebSockets khi:
- Độ trễ, tính liên tục và độ chính xác không ảnh hưởng đến PnL, việc khớp lệnh hoặc rủi ro
- Bạn muốn payload JSON
- Trọng tâm của bạn là trải nghiệm người dùng mà không cần đến sự phức tạp ở backend
| Trường hợp sử dụng | Ví dụ |
| Trải nghiệm người dùng frontend theo thời gian thực | - Số dư ví - Bảng điều khiển danh mục đầu tư - Thông báo trong ứng dụng - Trải nghiệm người dùng |
LaserStream
Nhà phát triển nên sử dụng LaserStream khi:
- Mỗi mili giây đều quan trọng
- Độ trễ, tính liên tục và độ chính xác ảnh hưởng đến PnL, việc khớp lệnh và/hoặc rủi ro
- Bạn cần khả năng lọc nâng cao hơn
- Bạn cần truyền dữ liệu không gián đoạn với tính năng tự động phát lại
- Bạn cần nhận giao dịch ở nhiều mức cam kết khác nhau
| Trường hợp sử dụng | Ví dụ |
| Xử lý backend theo sự kiện | - Hệ thống giao dịch và quản trị rủi ro - Công cụ giám sát giá và luồng lệnh - Công cụ theo dõi thanh lý - Công cụ xử lý liên thị trường |
Đăng ký bản dùng thử miễn phí để xem LaserStream có phù hợp với bạn hay không.
Shred Delivery
Nhà phát triển nên sử dụng Shred Delivery khi:
- Bạn cần tín hiệu thô
- Bạn đã có hoặc có thể xây dựng một pipeline deshredding tùy chỉnh
Nếu muốn có độ trễ cấp shred nhưng chưa có pipeline deshredding, Preprocessed Transactions sẽ cung cấp các shred đã giải mã qua WebSocket.
| Trường hợp sử dụng | Ví dụ |
| Thu thập tín hiệu với độ trễ cực thấp | - HFT - Chênh lệch giá liên thị trường - Săn token |
Tóm lại:
- Sử dụng Enhanced Websockets cho các luồng không trọng yếu, thân thiện với frontend.
- Sử dụng LaserStream cho các vòng lặp quyết định ở backend, nơi khoảng trễ hoặc tính liên tục của dữ liệu ảnh hưởng trực tiếp đến cơ hội.
- Sử dụng Shred Delivery khi bạn dùng pipeline deshredding tùy chỉnh để nhận tín hiệu sớm nhất từ các shred thô.
Đăng ký bản dùng thử miễn phí để xem Shred Delivery có phù hợp với bạn hay không.
Bắt đầu nhanh với Enhanced WebSockets
Bắt đầu sử dụng Enhanced WebSockets rất đơn giản.
Trước tiên, hãy đăng ký và lấy khóa API trong phần “API Keys”.
Chỉ cần kết nối với một trong các endpoint của chúng tôi, đăng ký qua transactionSubscribe hoặc accountSubscribe và bắt đầu nhận các luồng đã lọc có khả năng phục hồi cao.
Enhanced WebSockets được cung cấp cho gói Business trở lên. WebSockets tiêu chuẩn của Solana được cung cấp cho cả gói miễn phí và trả phí.
Endpoint
- Mainnet:
wss://atlas-mainnet.helius-rpc.com/?api-key=<YOUR_API_KEY> - Mainnet (Gatekeeper Beta):
wss://beta.helius-rpc.com/?api-key=<YOUR_API_KEY> - Devnet:
wss://atlas-devnet.helius-rpc.com/?api-key=<YOUR_API_KEY>
Ví dụ: Theo dõi các pool Raydium Launchpad mới
Script Node.js sau đây là một ví dụ đơn giản về cách sử dụng Enhanced WebSockets trong môi trường production để đăng ký chương trình Launchpad của Raydium bằng transactionSubscribe, qua đó lọc các lần khởi tạo pool thành công thông qua phân tích log:
import WebSocket from 'ws';
const API_KEY = process.env.HELIUS_API_KEY; // Set your API key as an env var
const WS_URL = `wss://atlas-mainnet.helius-rpc.com/?api-key=${API_KEY}`;
const
RAYDIUM_LAUNCHPAD_PROG
= '
LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj
';
const ws = new WebSocket(WS_URL);
ws.on('open', () => {
console.log('Connected to LaserStream-Powered Enhanced WebSockets!');
ws.send(JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'transactionSubscribe',
params: [
{
failed: false,
accountInclude: [
RAYDIUM_LAUNCHPAD_PROG
]
},
{
commitment: 'confirmed',
encoding: 'jsonParsed',
transactionDetails: 'full',
maxSupportedTransactionVersion: 0
}
]
}));
// Optional heartbeat ping
setInterval(() => {
if (ws.readyState === WebSocket.OPEN) {
ws.send(JSON.stringify({ jsonrpc: '2.0', id: Date.now(), method: 'ping' }));
}
}, 30000);
});
ws.on('message', (data) => {
try {
const payload = JSON.parse(data.toString());
const result = payload.params?.result;
if (!result) return;
// Filter for init logs
const logs = result.transaction.meta.logMessages || [];
if (!logs.some(log => log.includes('Instruction: Initialize'))) return;
const keys = result.transaction.transaction.message.accountKeys.map(k => k.pubkey);
console.table({
Signature: result.signature,
Creator: keys[1], // From IDL: accounts[1] is creator
BaseMint: keys[7], // From IDL: base_mint is around index 7 in initialize accounts
Slot: result.slot
});
} catch (err) {
console.error('Message parse error:', err);
}
});
ws.on('error', (err) => console.error('WebSocket error:', err));
ws.on('close', () => {
console.log('Disconnected');
});
Chạy đoạn mã trên bằng lệnh:
export HELIUS_API_KEY=your-api-key-here
node raydium-launchpad-stream.jsScript sau sẽ truyền phát một bảng các pool mới ra mắt đến bảng điều khiển, bảo đảm truyền dữ liệu không gián đoạn ngay cả khi tải cao.
Giá và đo lường mức sử dụng
Trong khuôn khổ đầu tư liên tục vào độ trễ và độ tin cậy, kể từ ngày 16 tháng 10 năm 2025, các gói mới sẽ tính mức sử dụng Enhanced WebSockets theo cùng đơn giá với LaserStream (tức là 3 credit cho mỗi 0,1 MB dữ liệu được truyền phát).
Các gói Professional có thể mua thêm dữ liệu với mức giá cố định để sử dụng cho nhu cầu truyền phát dữ liệu qua Enhanced WebSockets hoặc LaserStream.
Nếu đang sử dụng một gói hiện có, mức giá, giới hạn và cách tính phí của bạn vẫn giữ nguyên hoàn toàn. Bạn không cần thực hiện bất kỳ thao tác nào.
WebSockets tiêu chuẩn không thay đổi và được cung cấp cho cả gói miễn phí lẫn trả phí.
Nâng tầm luồng dữ liệu ngay hôm nay
Độ tin cậy, hiệu năng và sự đơn giản—các luồng dữ liệu đã sẵn sàng mở rộng cùng bạn. Bắt đầu xây dựng với Enhanced WebSockets ngay hôm nay. Đăng ký, lấy khóa API và trải nghiệm độ tin cậy trên frontend của bạn.
Truyền phát thông minh hơn, đổi mới nhanh hơn.
Bài viết liên quan
Đăng ký nhận tin từ Helius
Luôn cập nhật những thông tin mới nhất về phát triển Solana và nhận thông báo khi chúng tôi đăng bài


