getBlocksWithLimit cho phép 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.
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ứcgetBlocksWithLimit nhận các tham số sau:
start_slot(u64, bắt buộc): Slot đầu tiên cần xem xét (bao gồm cả slot này).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đếnlimitkhối sau đó) không được vượt quá 500.000 slot.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ườngresult 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_slotlà 5 vàlimitlà 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 lấy danh sách gồm tối đa 5 slot khối đã được xác nhận, bắt đầu từ slot280000000.
2. Lấy các khối có giới hạn và mức cam kết cụ thể
Ví dụ này lấy tối đa 3 khối bắt đầu từ slot290000000 bằng mức cam kết finalized.
Mẹo dành cho nhà phát triển
- Làm rõ phạm vi: Tham số
limitxác đị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đếnstart_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 tìm thấy và trả về ít khối thực tế hơn 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ả slot trong quá khứ. Một
start_slotquá cũ có thể trả về ít khối hơnlimitđã chỉ định hoặc trả về 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. - Cam kết khối: Trong Alpenglow,
confirmedvàfinalizedtrả về cùng các khối đã được cam kết vĩnh viễn; nên ưu tiênfinalizedcho mã mới. Các nút khác nhau vẫn có thể tạm thời cho kết quả khác nhau do độ trễ lan truyền. - Tính đặc thù của trường hợp sử dụng:
getBlocksWithLimitlà 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,getBlockscó thể phù hợp hơn.
getBlocksWithLimit để liệt kê một số lượng cụ thể các slot khối đã được cam kết vĩnh viễ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ể