Validators DAO Phát Hành Solana Stream SDK v1.1.1 — Mã Nguồn Mở Client Khởi Đầu Rust Cho UDP Shreds Nhanh Nhất
Validators DAO Phát Hành Solana Stream SDK v1.1.1 — Mã Nguồn Mở Client Khởi Đầu Rust Cho UDP Shreds Nhanh Nhất

Solana Stream SDK, client luồng mã nguồn mở cho Solana được phát triển và vận hành bởi ELSOUL LABO B.V. (Trụ sở: Amsterdam, Hà Lan; CEO: Fumitake Kawasaki) và Validators DAO, đã phát hành phiên bản mới nhất v1.1.1. Cùng với bản phát hành này, client khởi đầu dựa trên Rust xử lý trực tiếp UDP Shreds — tầng nhanh nhất trong mạng Solana — đã được mã nguồn mở mới.
Bản phát hành này trình bày một ví dụ triển khai cụ thể nhận Shreds qua UDP trực tiếp giữa các validator, mà không đi qua các tầng API cao hơn như RPC, WebSocket hoặc gRPC, và xử lý chúng thông qua tái tạo và phát hiện qua đường dẫn ngắn nhất có thể. Đối với các trường hợp sử dụng nơi độ trễ trực tiếp chuyển thành giá trị, đây cung cấp điểm khởi đầu thực tế để hoạt động ở tầng nhanh nhất trong môi trường thực tế.
Tiền đề: Sự khác biệt về thời gian phát hiện
Trên Solana, ngay cả đối với cùng sự kiện on-chain, thời gian phát hiện khác nhau đáng kể tùy thuộc vào nơi quan sát — từ Shreds, Geyser gRPC hay RPC / WebSocket. Từ góc độ thời gian phát hiện, Shreds được quan sát trước, tiếp theo là Geyser gRPC, và sau đó là RPC / WebSocket.
Shreds đại diện cho dữ liệu ở giai đoạn các mảnh tạo nên block được trao đổi trực tiếp giữa các validator. Geyser gRPC chuyển các sự kiện như block, log và cập nhật tài khoản sau khi Shreds đã được nhận và tổ chức nội bộ bởi node. RPC / WebSocket nằm ở tầng cao nhất, cung cấp quyền truy cập dữ liệu đã lưu trữ và tổ chức thông qua truy vấn và đăng ký.
Tại sao UDP Shreds tạo thành tầng nhanh nhất
Shreds được truyền qua UDP. UDP không liên quan đến thiết lập kết nối, kiểm soát truyền lại hoặc đảm bảo thứ tự, giữ overhead giao thức ở mức tối thiểu tuyệt đối. Kết quả là, trong điều kiện giống hệt, dữ liệu đến nhanh hơn so với gRPC hoặc WebSocket, vốn dựa trên TCP.
Khi nhắm đến phát hiện nhanh nhất có thể trên Solana, UDP Shreds trở thành lựa chọn đầu tiên do các đặc tính truyền thông và thiết kế mạng.
Tại sao pump.fun được sử dụng làm ví dụ
Validators DAO đã nhận được số lượng lớn yêu cầu về phát hiện nhanh nhất có thể sử dụng UDP Shreds. Trong số đó, yêu cầu phổ biến nhất là phát hiện mint token và giao dịch sớm trên pump.fun nhanh nhất có thể.
Đối với mint token và giao dịch ban đầu, sự khác biệt hàng chục mili giây có thể ảnh hưởng thực chất đến kết quả. Do đó pump.fun là ví dụ cụ thể nơi đặc tính và giá trị của tầng nhanh nhất được thể hiện rõ ràng nhất, và nơi nhu cầu đặc biệt tập trung. Trong bản phát hành này, mã khởi đầu bao gồm logic phát hiện dựa trên pump.fun làm cấu hình mặc định, phản ánh nhu cầu thực tế này. Điều này không giới hạn sử dụng cho pump.fun, mà phục vụ như ví dụ thực tế để tái tạo phát hiện tầng nhanh nhất một cách thực tế.
Phản ứng với sự kiện có ý nghĩa, không phải mọi thứ
Khi xử lý UDP Shreds, khối lượng giao dịch cực lớn chảy qua hệ thống, bao gồm nhiều giao dịch quá nhỏ để ảnh hưởng đến quyết định chiến lược hoặc UX.
Mã khởi đầu áp dụng thiết kế cho phép đặt ngưỡng giá trị, chỉ phát hiện giao dịch trên ngưỡng đó. Bộ lọc này được áp dụng không phải qua kiểm tra RPC sau, mà trực tiếp tại giai đoạn đánh giá ngay sau khi Shreds được tái tạo. Ngưỡng là tùy chọn: đặt 0 cho phép phát hiện tất cả giao dịch. Người dùng có thể xác định phản ứng với bao nhiêu dữ liệu dựa trên trường hợp sử dụng cụ thể.

Ví dụ trên cho thấy log phát hiện chỉ mint token và giao dịch liên quan pump.fun với số lượng từ 1 SOL trở lên, minh họa trạng thái chỉ nắm bắt thông tin liên quan ở mật độ cao trên tầng nhanh nhất.
Đánh đổi của tốc độ: Thông tin chưa xác nhận
UDP Shreds bao gồm thông tin từ trước khi block được hoàn tất. Kết quả là, giao dịch thất bại có thể xuất hiện, và dữ liệu có thể thiếu hoặc đến không theo thứ tự. Đây không phải lỗi, mà là thuộc tính vốn có của chính tầng nhanh nhất.
Bằng cách xử lý dữ liệu khi nó chảy mà không chờ xác nhận hoặc chuẩn hóa, thay đổi có thể được phát hiện sớm hơn bất kỳ tầng nào khác. Mã khởi đầu này thừa nhận rõ ràng tiền đề này và trình diễn triển khai đạt phát hiện chỉ bằng Shreds, không dựa vào RPC.
Cấu trúc được thiết kế cho sự rõ ràng
Bên trong, xử lý được tổ chức thành chuỗi rõ ràng: nhận -> buffer -> tái tạo -> đánh giá -> đầu ra. Các trách nhiệm như nhận UDP, buffer FEC, deshredding, logic theo dõi và đầu ra được tách biệt và xử lý như các yếu tố độc lập. Thiết kế này cho phép người dùng chạy mã nguyên trạng ban đầu, sau đó dần sửa đổi chỉ các phần cần thiết cho trường hợp sử dụng của họ.
Tài nguyên
GitHub (Solana Stream SDK): https://github.com/ValidatorsDAO/solana-stream
Rust Crate: https://crates.io/crates/solana-stream-sdk
ERPC Website: https://erpc.global/
Validators DAO Discord chính thức: https://discord.gg/C7ZQSrCkYR
Câu hỏi và phản hồi về Solana Stream SDK v1.1.1 và UDP Shreds client được hoan nghênh trên Discord chính thức Validators DAO.


