Skip to main content
Phương thức RPC getBlocksWithLimit cho phép bạn truy xuất danh sách số slot của các khối đã được xác nhận, bắt đầu từ một slot được chỉ định và trả về tối đa theo giới hạn cho trước. Phương thức này hữu ích khi bạn cần một số lượng cụ thể các khối đã được xác nhận tiếp theo kể từ một điểm nhất định trong sổ cái.
Tránh xử lý theo lô để có hiệu suất tốt hơnXử lý theo lô các phương thức lưu trữ làm tăng đáng kể độ trễ. Không cho phép các lô có hơn 10 yêu cầu.

Các trường hợp sử dụng phổ biến

  • Truy xuất một số lượng khối tiếp theo cố định: Lấy một số lượng slot khối xác định đã được xác nhận sau một slot bắt đầu cụ thể.
  • Khám phá khối theo phân trang: Truy xuất các khối theo từng phần khi phân tích một phân đoạn của blockchain.
  • Giám sát khối gần đây: Lấy N khối gần nhất từ một slot gần đây đã biết.

Tham số yêu cầu

Phương thức getBlocksWithLimit nhận các tham số sau:
  1. start_slot (u64, bắt buộc): Slot đầu tiên cần xét (bao gồm cả slot này).
  2. limit (u64, bắt buộc): Số lượng slot khối tối đa cần trả về. Tổng số slot được truy vấn (từ start_slot đến limit khối sau đó) không được vượt quá 500.000 slot.
  3. commitment (chuỗi, tùy chọn): Chỉ định mức cam kết cho truy vấn. Nếu bỏ qua, mức cam kết mặc định của nút sẽ được sử dụng. Tham số này được truyền dưới dạng trường duy nhất trong một đối tượng cấu hình ở vị trí tham số cuối cùng.

Cấu trúc phản hồi

Trường result của phản hồi JSON-RPC sẽ là một mảng các số nguyên u64. Mỗi số nguyên trong mảng đại diện cho số slot của một khối đã được xác nhận, bắt đầu từ start_slot cho đến limit được chỉ định.
  • Ví dụ: Nếu start_slot là 5 và limit là 3, một kết quả có thể là [5, 6, 7].

Ví dụ

1. Lấy số lượng khối giới hạn từ một slot bắt đầu

Ví dụ này truy xuất danh sách tối đa 5 slot khối đã được xác nhận, bắt đầu từ slot 280000000.

2. Lấy các khối có giới hạn và mức cam kết cụ thể

Ví dụ này truy xuất tối đa 3 khối, bắt đầu từ slot 290000000 và sử dụng mức cam kết confirmed.

Mẹo dành cho nhà phát triển

  • Làm rõ phạm vi: Tham số limit quy định số lượng slot khối tối đa cần trả về. Giới hạn 500.000 slot áp dụng cho phạm vi khái niệm được quét (tức là từ start_slot đến start_slot + limit - 1). Hãy đảm bảo phạm vi khái niệm này không vượt quá 500.000 slot, ngay cả khi có ít khối thực tế hơn được tìm thấy và trả về trong phạm vi đó.
  • Khả năng cung cấp dữ liệu của nút: Các nút có thể không lưu giữ thông tin cho tất cả các slot trong quá khứ. Một start_slot quá cũ có thể trả về ít khối hơn limit đã chỉ định hoặc một mảng trống, tùy thuộc vào chính sách lưu giữ sổ cái của nút.
  • Xác nhận khối: Phương thức này trả về các khối đã được xác nhận. Tập hợp khối chính xác có thể khác đôi chút tùy thuộc vào mức commitment đã chọn và nút mà bạn truy vấn, đặc biệt đối với các slot mới nhất.
  • Tính đặc thù của trường hợp sử dụng: getBlocksWithLimit là lựa chọn lý tưởng khi bạn biết điểm bắt đầu và cần một số lượng cố định các khối tiếp theo. Nếu cần tất cả các khối trong một phạm vi slot đã biết, getBlocks có thể phù hợp hơn.
Hướng dẫn này cung cấp thông tin tổng quan rõ ràng về cách sử dụng phương thức RPC getBlocksWithLimit để liệt kê một số lượng cụ thể các slot khối đã được xác nhận trên mạng Solana.

Phương thức liên quan

getBlocks

Lấy tất cả các khối trong một phạm vi slot

getBlock

Lấy thông tin chi tiết về một khối cụ thể