getBlockProduction cung cấp thông tin về hoạt động sản xuất khối trong epoch hiện tại hoặc một phạm vi slot được chỉ định. Phương thức này có thể truy xuất dữ liệu cho tất cả trình xác thực hoặc một danh tính trình xác thực cụ thể. Thông tin này hữu ích để giám sát hiệu suất của trình xác thực và tìm hiểu các mô hình sản xuất khối trên mạng.
Các trường hợp sử dụng phổ biến
- Giám sát hiệu suất của trình xác thực: Theo dõi số khối được tạo và các slot lãnh đạo của một trình xác thực cụ thể.
- Phân tích hiệu suất epoch: Xem tổng quan về hoạt động sản xuất khối của tất cả trình xác thực trong epoch hiện tại hoặc một epoch trước đó.
- Xác định các slot bị bỏ lỡ: Kiểm tra xem trình xác thực có bỏ lỡ các slot lãnh đạo được chỉ định hay không.
- Kiểm tra tình trạng mạng: Thu thập dữ liệu về hiệu quả sản xuất khối tổng thể.
Tham số yêu cầu
Phương thứcgetBlockProduction chấp nhận một đối tượng cấu hình không bắt buộc với các tham số sau:
commitment(chuỗi, không bắt buộc): Chỉ định mức cam kết dùng 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.range(đối tượng, không bắt buộc): Xác định phạm vi slot cần truy vấn.firstSlot(u64): Slot đầu tiên cần lấy thông tin sản xuất khối (bao gồm slot này).lastSlot(u64, không bắt buộc): Slot cuối cùng cần lấy thông tin sản xuất khối (bao gồm slot này). Nếu bỏ qua, phương thức sẽ trả về dữ liệu sản xuất khối của epoch hiện tại cho đến slot hiện tại.
identity(chuỗi, không bắt buộc): Khóa công khai được mã hóa base58 của danh tính trình xác thực. Nếu được cung cấp, phản hồi sẽ chỉ bao gồm thông tin sản xuất khối của trình xác thực cụ thể này. Nếu bỏ qua, phương thức sẽ trả về thông tin của tất cả trình xác thực trong phạm vi được chỉ định (hoặc epoch hiện tại).
identity hoặc range.firstSlot. Nếu không cung cấp identity thì bắt buộc phải có tham số range.
Cấu trúc phản hồi
Trườngresult của phản hồi JSON-RPC sẽ là một đối tượng chứa:
context(đối tượng):slot(u64): Slot tại thời điểm truy xuất thông tin.
value(đối tượng):byIdentity(đối tượng): Một đối tượng trong đó các khóa là chuỗi danh tính trình xác thực (khóa công khai được mã hóa base58), còn các giá trị là những đối tượng chứa:leaderSlots(u64): Số slot lãnh đạo được chỉ định cho trình xác thực này trong phạm vi/epoch được truy vấn.blocksProduced(u64): Số khối do trình xác thực này tạo ra trong phạm vi/epoch được truy vấn.
range(đối tượng):firstSlot(u64): Slot đầu tiên của phạm vi được truy vấn.lastSlot(u64): Slot cuối cùng của phạm vi được truy vấn.
Mẹo dành cho nhà phát triển
- Hiểu ranh giới epoch: Khi truy vấn bằng
identitymà không córange, dữ liệu được trả về thuộc epoch hiện tại cho đến slot mới nhất mà nút đã xử lý. Nếu cần dữ liệu của một epoch trước đó đầy đủ cho một trình xác thực cụ thể, bạn cần xác địnhfirstSlotvàlastSlotcủa epoch đó. - Khả năng cung cấp dữ liệu của nút: Phạm vi dữ liệu sản xuất khối trong quá khứ có thể khác nhau giữa các nút RPC. Một số phạm vi slot quá cũ có thể không có trên tất cả các nút.
- Giám sát hiệu suất:
getBlockProductionđóng vai trò quan trọng khi xây dựng bảng điều khiển hoặc cảnh báo liên quan đến thời gian hoạt động của trình xác thực và tỷ lệ sản xuất khối thành công. - Kết hợp với
getLeaderSchedule: Để phân tích chuyên sâu hơn, bạn có thể đối chiếu dữ liệugetBlockProductionvới kết quả củagetLeaderScheduleđể xem những slot lãnh đạo cụ thể nào đã được tạo hoặc bị bỏ lỡ. - Danh tính so với tất cả trình xác thực: Truy vấn không có
identitycó thể trả về lượng dữ liệu lớn, đặc biệt nếu không chỉ địnhrangehoặc chỉ định mộtrangerộng. Hãy lưu ý đến kích thước phản hồi và yêu cầu xử lý.
Ví dụ
1. Lấy dữ liệu sản xuất khối của epoch hiện tại (tất cả trình xác thực)
Ví dụ này truy xuất dữ liệu sản xuất khối của tất cả trình xác thực trong epoch hiện tại.2. Lấy dữ liệu sản xuất khối của một trình xác thực cụ thể trong epoch hiện tại
Ví dụ này truy xuất dữ liệu sản xuất khối của một danh tính trình xác thực cụ thể trong epoch hiện tại.3. Lấy dữ liệu sản xuất khối cho một phạm vi slot và trình xác thực cụ thể
Ví dụ này truy xuất dữ liệu sản xuất khối của một trình xác thực cụ thể trong phạm vi slot đã xác định.getBlockProduction để phân tích hoạt động sản xuất khối trên Solana.
Phương thức liên quan
getLeaderSchedule
Lấy toàn bộ lịch lãnh đạo để đối chiếu với dữ liệu sản xuất
getVoteAccounts
Lấy thông tin về tất cả trình xác thực tham gia bỏ phiếu