LaserStream WebSocket là gì?
LaserStream WebSocket là biến thể sử dụng giao thức WebSocket của LaserStream. Dịch vụ này cung cấp các phương thức đăng ký Solana JSON-RPC tiêu chuẩn (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) cùng các tiện ích mở rộng dành riêng cho Helius như transactionSubscribe để lọc nâng cao — tất cả đều trên cùng một điểm cuối wss://mainnet.helius-rpc.com hợp nhất và cùng phần phụ trợ LaserStream với sản phẩm gRPC.
WebSocket cung cấp kết nối liên tục theo thời gian thực: thay vì liên tục thăm dò “có gì thay đổi không?”, blockchain sẽ thông báo cho bạn ngay khi có sự kiện xảy ra.
Real-Time Updates
Nhận thông báo ngay lập tức khi tài khoản Solana thay đổi, giao dịch diễn ra hoặc khối mới được tạo
Efficient Resource Usage
Sử dụng một kết nối liên tục thay vì thăm dò bằng hàng trăm yêu cầu HTTP
Low Latency
Nhanh hơn WebSocket tiêu chuẩn dựa trên Agave RPC tới 200 ms, do LaserStream cung cấp
Helius Extensions
transactionSubscribe và phiên bản accountSubscribe nâng cao để lọc chuyên sâu trên các phương thức Solana tiêu chuẩnĐiểm cuối
WebSocket — bao gồm cả các phương thức Solana tiêu chuẩn và tiện ích mở rộng dành riêng cho Helius — được cung cấp qua một điểm cuối hợp nhất duy nhất cho mỗi mạng: Mainnet:wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Beta)
Để thử nghiệm dịch vụ WebSocket nhanh nhất của chúng tôi, hãy dùng điểm cuối Gatekeeper (Beta) mới:wss://beta.helius-rpc.com/?api-key=<API_KEY>
Định giá và đo lường mức sử dụng
Mức sử dụng WebSocket được tính là 2 tín dụng cho mỗi 0,1 MB dữ liệu truyền chưa nén. Mở một kết nối tốn 1 tín dụng. Đối với khối lượng công việc lớn trên các gói Professional, Tiện ích bổ sung dữ liệu cung cấp hạn mức dữ liệu hằng tháng (5TB–100TB) với chi phí có thể dự đoán. Có thể áp dụng tiện ích bổ sung dữ liệu cho LaserStream và WebSocket.Các phương thức dành riêng cho Helius
transactionSubscribe và accountSubscribe (với bộ lọc Helius) yêu cầu gói Developer, Business hoặc Professional. Các phương thức Solana tiêu chuẩn như programSubscribe, logsSubscribe và signatureSubscribe có sẵn trên mọi gói.Khái niệm cốt lõi
Các loại đăng ký
Account Subscriptions
Account Subscriptions
Theo dõi thay đổi đối với các tài khoản cụ thể như số dư ví, tài khoản token hoặc dữ liệu chương trình.Trường hợp sử dụng:
- Theo dõi số dư ví
- Giám sát tài khoản token
- Theo dõi thay đổi trạng thái hợp đồng thông minh
- Cập nhật quyền sở hữu NFT
Program Subscriptions
Program Subscriptions
Theo dõi mọi tài khoản thuộc sở hữu của một chương trình cụ thể để phát hiện mọi thay đổi.Trường hợp sử dụng:
- Giám sát giao dịch DEX
- Theo dõi giao thức DeFi
- Theo dõi hoạt động trên thị trường NFT
- Theo dõi thay đổi tài sản trong trò chơi
Transaction Subscriptions
Transaction Subscriptions
Nhận thông báo khi các giao dịch cụ thể được xác nhận hoặc khi giao dịch đề cập đến một số tài khoản nhất định.Trường hợp sử dụng:
- Xác nhận thanh toán
- Theo dõi trạng thái giao dịch
- Phê duyệt đa chữ ký
- Giám sát việc thực thi hợp đồng
Slot Subscriptions
Slot Subscriptions
Theo dõi tiến trình và tính hoàn tất của blockchain ở cấp độ slot.Trường hợp sử dụng:
- Ứng dụng trình khám phá khối
- Giám sát tình trạng mạng
- Theo dõi cơ chế đồng thuận
- Phân tích hiệu năng
Các mức cam kết
Hiểu rõ các mức cam kết là yếu tố thiết yếu để xây dựng ứng dụng đáng tin cậy:- Processed
- Confirmed
- Finalized
Nhanh nhất - Giao dịch đã được trình xác thực xử lý nhưng chưa được xác nhận
- Độ trễ: ~400ms
- Rủi ro: Có thể bị loại bỏ hoặc sắp xếp lại
- Dùng cho: Cập nhật giao diện người dùng theo thời gian thực (cần thận trọng)
Bạn muốn tìm hiểu thêm về các mức cam kết? Hãy đọc bài viết toàn diện trên blog của chúng tôi: Tìm hiểu các mức cam kết của Solana
Các phương thức WebSocket hiện có
Helius hỗ trợ đầy đủ các phương thức đăng ký Solana WebSocket cùng các tiện ích mở rộng dành riêng cho Helius. Tất cả phương thức dùng chung điểm cuốiwss://mainnet.helius-rpc.com.
Tiện ích mở rộng của Helius
Hai phương thức cung cấp khả năng lọc phong phú hơn tiêu chuẩn Solana:transactionSubscribe— đăng ký các giao dịch khớp với danh sách tài khoản cần bao gồm/loại trừ/bắt buộc, cờ biểu quyết/thất bại và một chữ ký cụ thểaccountSubscribe— Helius bổ sung các bộ lọc nâng cao trên cấu trúcaccountSubscribetiêu chuẩn
Các phương thức Solana tiêu chuẩn
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe và các cặp *Unsubscribe tương ứng.
Complete API Reference
Khám phá toàn bộ hơn 18 phương thức WebSocket. Mỗi phương thức đều có tham số chi tiết, định dạng phản hồi và ví dụ.
Cách triển khai logic kết nối lại
Kết nối WebSocket có thể bị ngắt vì nhiều lý do — sự cố mạng, bảo trì máy chủ hoặc gián đoạn tạm thời. Ứng dụng trong môi trường production phải triển khai logic kết nối lại để bảo đảm độ tin cậy.Lý do kết nối bị ngắt
Network Issues
Network Issues
- Sự cố kết nối Internet
- Chuyển đổi WiFi trên thiết bị di động
- Tường lửa doanh nghiệp hết thời gian chờ
- Thay đổi định tuyến của ISP
Server-Side Events
Server-Side Events
- Khoảng thời gian bảo trì theo kế hoạch
- Khởi động lại bộ cân bằng tải
- Cập nhật nút RPC
- Cơ chế bảo vệ tạm thời khi quá tải
Client-Side Issues
Client-Side Issues
- Tab trình duyệt chuyển sang chạy nền
- Ứng dụng di động bị tạm dừng
- Máy tính chuyển sang chế độ ngủ/ngủ đông
- Tiến trình gặp sự cố hoặc khởi động lại
Phát hiện kết nối bị ngắt
- JavaScript/Browser
- Node.js
Chiến lược kết nối lại
- Exponential Backoff
- Circuit Breaker Pattern
Kiểm thử logic kết nối lại
- Network Simulation
- Automated Testing
Khắc phục sự cố
Connection Failed
Connection Failed
Triệu chứng: WebSocket không thể kết nối ngay từ đầuGiải pháp:
- Xác minh khóa API của bạn chính xác và có đủ tín dụng
- Kiểm tra định dạng URL của điểm cuối:
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Đảm bảo tường lửa cho phép kết nối WebSocket trên cổng 443
- Trước tiên, hãy thử bằng một lệnh ping đơn giản để xác minh khả năng kết nối cơ bản
Frequent Disconnections
Frequent Disconnections
Triệu chứng: Kết nối bị ngắt sau mỗi vài phútGiải pháp:
- WebSocket có bộ hẹn giờ không hoạt động 10 phút. Gửi ping ít nhất một lần mỗi phút để duy trì kết nối (xem các ví dụ kết nối lại ở trên và Câu hỏi thường gặp về WebSocket)
- Triển khai nhịp ping/pong phù hợp (được minh họa trong các ví dụ kết nối lại ở trên)
- Kiểm tra độ ổn định của mạng và cài đặt tường lửa doanh nghiệp
- Theo dõi số lượng đăng ký — quá nhiều đăng ký có thể gây mất ổn định
- Xác minh rằng bạn đang xử lý đúng vòng đời kết nối
Missing Messages
Missing Messages
Triệu chứng: Không nhận được các bản cập nhật đăng ký dự kiếnGiải pháp:
- Xác minh đăng ký đã được xác nhận (kiểm tra phản hồi)
- Đảm bảo tài khoản/chương trình bạn đang theo dõi thực sự có hoạt động
- Theo dõi trạng thái kết nối — bỏ lỡ thông báo thường là dấu hiệu kết nối bị ngắt
High Latency
High Latency
Triệu chứng: Truyền thông báo chậm, cập nhật bị trễGiải pháp:
- Dùng mức cam kết “confirmed” thay cho “finalized”
- Giảm số lượng đăng ký đang hoạt động
- Tối ưu hóa logic xử lý thông báo
- Cân nhắc sử dụng nhiều kết nối để phân phối tải
- Kiểm tra chất lượng kết nối mạng
Memory Leaks
Memory Leaks
Triệu chứng: Mức sử dụng bộ nhớ của ứng dụng tăng dần theo thời gianGiải pháp:
- Triển khai cơ chế dọn dẹp đăng ký phù hợp
- Xóa trình lắng nghe sự kiện khi các thành phần bị ngắt kết nối
- Xóa nhật ký thông báo định kỳ
- Theo dõi số lượng đăng ký và áp dụng giới hạn
- Sử dụng tham chiếu yếu cho các hàm callback khi có thể
Di chuyển từ RPC tiêu chuẩn
Nếu hiện đang sử dụng cơ chế thăm dò HTTP, bạn có thể di chuyển sang WebSocket như sau:Khả năng nâng cao
Đối với ứng dụng cần các tính năng nâng cao hơn nữa, hãy cân nhắc sử dụng LaserStream gRPC:24-Hour Historical Replay
Truy xuất dữ liệu bị bỏ lỡ khi ứng dụng không hoạt động
Multi-Node Aggregation
Nâng cao độ tin cậy nhờ dữ liệu từ nhiều trình xác thực
Higher Throughput
Xử lý nhiều đăng ký hơn và tốc độ thông báo cao hơn
Enterprise Features
Khả năng giám sát, phân tích và quy trình dữ liệu nâng cao