Chuyển đến nội dung chính
Sử dụng Sender Max (mức tip tối thiểu: 0.001 SOL) để hành động dựa trên Preconfirmations. Preconfirmation chỉ mang lại lợi ích nếu giao dịch của bạn được ghi nhận trước — Sender Max là cách nhanh nhất để làm điều đó. Hãy xây dựng trên Sender Max ngay từ đầu để tận dụng tối đa Preconfirmations.

Tổng quan

Preconfirmations truyền phát các giao dịch tại thời điểm sớm nhất có thể quan sát được — trước khi chúng được tập hợp thành các entry và chuyển đổi thành shred. Đây là tín hiệu giao dịch có độ trễ thấp nhất mà Helius cung cấp — sớm hơn Shred Delivery và sớm hơn các luồng ở mức cam kết processed. Bạn đăng ký qua WebSocket bằng phương thức preconfSubscribe và nhận từng giao dịch ngay khi giao dịch đó diễn ra. Luồng này kết hợp hai nguồn, cả hai đều được bao gồm theo mặc định và phát dữ liệu tại các thời điểm khác nhau trong quy trình:
  • Helius Preconfirmations từ các validator chuyển tiếp dữ liệu đến Helius. Được phát ngay khi leader thực thi giao dịch, cùng với trạng thái thực thi — thời điểm đầu tiên mà kết quả xuất hiện ở bất kỳ đâu.
  • BAM Preconfirmations từ các validator chạy client Block Assembly Marketplace (BAM) của Jito. Được phát khi validator cam kết thực thi giao dịch, trước khi giao dịch chạy — vì vậy chúng không có trạng thái thực thi.
Preconfirmations được cung cấp từ endpoint Helius Gatekeeper, wss://beta.helius-rpc.com. Tên máy chủ beta đề cập đến quá trình triển khai Gatekeeper, không phải mức độ hoàn thiện của Preconfirmations — đây sẽ trở thành endpoint tiêu chuẩn khi lưu lượng truy cập được chuyển sang Gatekeeper.

Lowest Latency

Giao dịch được phân phối trước các luồng shred và mức cam kết đã xử lý

WebSocket Streaming

Đăng ký một lần bằng preconfSubscribe và nhận các Preconfirmations của Helius và BAM trong một luồng duy nhất

Credit-Based Pricing

Áp dụng cho tất cả gói trả phí; 10 credit cho mỗi thông báo được phân phối. Các slot không có thông báo không tốn credit, còn các slot có thông báo có mức tối thiểu 300 credit cho mỗi lượt đăng ký

Built for Traders

Phản ứng với hoạt động onchain trước khi hoạt động đó được ghi nhận, dành cho propAMM, bot săn giao dịch, bot sao chép giao dịch và bot thanh lý

Vị trí của Preconfirmations trong quy trình

Một giao dịch trải qua nhiều giai đoạn bên trong validator trước khi được ghi nhận onchain. Độ trễ tăng dần từ trái sang phải — bạn quan sát càng xa về bên phải thì càng biết về giao dịch muộn hơn.
Transaction latency flow inside a validator: User Tx to TPU to Scheduler to Preconf (scheduled transaction) to Shreds, with latency increasing left to right.

Preconfirmations deliver transactions ahead of shreds and processed commitment streams.

Helius Preconfirmations được phát từ giai đoạn thực thi — ngay khi leader thực thi giao dịch và trạng thái của giao dịch được xác định, nhưng trước khi kết quả được ghi vào một entry và chuyển thành shred. Đây là thời điểm đầu tiên trong vòng đời mà kết quả của giao dịch vừa tồn tại vừa có thể được báo cáo. BAM Preconfirmations được phát sớm hơn một giai đoạn, khi validator cam kết thực thi giao dịch nhưng trước khi giao dịch chạy. Cả hai đều đến trước khi giao dịch được chuyển thành shred, do đó có độ trễ thấp hơn rõ rệt so với phương thức phân phối dựa trên shred đối với cùng một giao dịch.

BAM Preconfirmations

BAM (Block Assembly Marketplace) là hệ thống xây dựng block của Jito dành cho Solana. Các validator chạy client tương thích với BAM phát Preconfirmation ngay khi cam kết thực thi một giao dịch. Helius tiếp nhận dữ liệu này từ các endpoint BAM theo khu vực của Jito và phân phối qua cùng gói đăng ký preconfSubscribe cũng như payload nhị phân dùng cho Helius Preconfirmations. Tại thời điểm ra mắt, BAM đã bổ sung phạm vi phủ từ các validator đại diện cho hơn 34% stake của mạng. BAM Preconfirmations sử dụng cùng bố cục payload nhưng khác nhau ở một số trường:
  • tx_index luôn là 0. BAM sắp xếp giao dịch theo ID trình tự và vị trí trong bundle thay vì chỉ mục slot; cả hai đều không ánh xạ tới trường của Helius và không được truyền trên luồng. Xem Phân biệt hai nguồn.
  • regionInclude khớp với endpoint BAM theo khu vực đã phát Preconfirmation, không phải khu vực Helius đã tiếp nhận dữ liệu đó.
  • Một tỷ lệ nhỏ giao dịch đến Helius qua cả hai nguồn, vì vậy cùng một chữ ký có thể xuất hiện hai lần. Xem Thông báo trùng lặp.
Để nhận dữ liệu từ một nguồn, hãy truyền includeSource: ["helius"] hoặc includeSource: ["bam"] trong bộ lọc đăng ký.

Khi nào nên sử dụng Preconfirmations

Good fit

propAMMs, bot săn giao dịch, bot sao chép giao dịch và bot thanh lý — mọi chiến lược cần phản ứng với một giao dịch sớm nhất có thể về mặt vật lý.

Consider alternatives

Đối với dữ liệu lịch sử đầy đủ hoặc dữ liệu đã xác nhận, hãy sử dụng LaserStream hoặc Enhanced WebSockets. Đối với dữ liệu mạng thô, hãy xem Shred Delivery.
Preconfirmation là tín hiệu sớm, không phải sự đảm bảo. Giao dịch vẫn chưa được ghi nhận onchain và vẫn có thể bị loại bỏ — đồng thời trạng thái thực thi của Helius Preconfirmation phản ánh kết quả cục bộ của leader, kết quả này chưa phải là cuối cùng cho đến khi block được xác nhận. Hãy xác nhận giao dịch đã được ghi nhận thông qua các bước kiểm tra mức cam kết tiêu chuẩn trước khi coi đó là kết quả cuối cùng.

Giá

Preconfirmations có trên tất cả các gói trả phí: Developer, Business, Professional và Enterprise. Các gói miễn phí không đủ điều kiện. Các slot không phân phối thông báo nào sẽ không tốn credit, ngay cả khi slot đó được Preconfirmations bao phủ. Khi một slot phân phối ít nhất một thông báo, mỗi lượt đăng ký preconfSubscribe đang mở sẽ bị tính mức cao hơn giữa 300 credit và 10 credit cho mỗi thông báo được phân phối. Các slot không được bao phủ không tốn credit. Xem Credit để biết chi tiết. Việc một slot có đủ điều kiện tính phí hay không phụ thuộc vào cách leader của slot đó được bao phủ và cài đặt includeSource của bạn: regionInclude tiếp tục thu hẹp tập hợp đủ điều kiện. Các slot được bao phủ nhưng nằm ngoài khu vực đã chọn sẽ không tốn credit đối với lượt đăng ký đó. Các slot phù hợp chỉ bị tính phí khi lượt đăng ký nhận được ít nhất một thông báo. Mỗi lượt đăng ký đồng thời được tính phí độc lập khi nhận được ít nhất một thông báo. Đóng các lượt đăng ký không còn cần thiết bằng preconfUnsubscribe. Khi dùng includeSource: ["helius"], các slot chỉ được BAM bao phủ sẽ không bị tính phí.
Để kiểm soát chi phí, hãy hợp nhất các bộ lọc tài khoản vào một lượt đăng ký khi phù hợp, dùng regionInclude để giới hạn việc tính phí ở những khu vực bạn cần, đặt includeSource: ["helius"] khi không cần BAM và theo dõi credit trong Bảng điều khiển Helius.
Preconfirmations là một sản phẩm mới và giá có thể thay đổi.

Phạm vi bao phủ

Preconfirmations chỉ khả dụng cho các giao dịch do những validator chuyển tiếp luồng của họ đến Helius hoặc chạy ứng dụng khách tương thích với BAM lên lịch. Phạm vi bao phủ tăng theo tỷ lệ cổ phần mạng được hai nguồn này bao phủ, vì vậy luồng không liên tục. Việc đặt includeSource: ["helius"] sẽ giới hạn phạm vi bao phủ ở các validator chuyển tiếp trực tiếp đến Helius. Dùng getPreConfCoverage để lấy phạm vi bao phủ của Preconfirmations dưới dạng tỷ lệ phần trăm cổ phần mạng, kèm thông tin chi tiết theo khu vực.
Hãy dự kiến sẽ có các khoảng trống. Trong những slot có leader không được nguồn nào bao phủ, bạn sẽ không nhận được thông báo Preconfirmations nào cho slot đó. Hãy thiết kế phần tích hợp để chịu được những khoảng trống này — đừng giả định luồng sẽ không bị gián đoạn, và hãy chuyển sang các tín hiệu khác như LaserStream hoặc Shred Delivery khi cần phạm vi bao phủ liên tục.
Phạm vi bao phủ tăng lên khi có thêm validator chuyển tiếp đến Helius. Nếu vận hành một validator, bạn có thể giúp thu hẹp những khoảng trống này và kiếm doanh thu.

Dành cho validator

Bạn đang vận hành một validator? Bạn có thể kiếm doanh thu bằng cách chuyển tiếp luồng Preconfirmations đến Helius — đồng thời cải thiện phạm vi bao phủ cho tất cả người dùng Preconfirmations.

Validators: earn by sending Preconfirmations

Tìm hiểu cách bắt đầu chuyển tiếp Preconfirmations và kiếm doanh thu.

Các bước tiếp theo

preconfSubscribe reference

Thông tin đăng ký, định dạng thông báo và một ví dụ WebSocket hoàn chỉnh.

Helius Sender

Kết hợp Preconfirmations với Sender để phản ứng với những gì bạn thấy và đưa giao dịch lên chuỗi nhanh nhất.