Skip to main content
Phương thức RPC getEpochInfo trả về thông tin về epoch hiện tại. Thông tin này giúp bạn hiểu trạng thái hiện tại của mạng, mạng đã tiến triển đến đâu trong epoch hiện tại và thời điểm epoch tiếp theo có thể bắt đầu. Để hiểu rõ hơn cách epoch, slot và block phối hợp hoạt động trên Solana, hãy tham khảo bài viết chi tiết của chúng tôi.

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

  • Theo dõi tiến trình epoch: Theo dõi chỉ số slot hiện tại trong epoch và tổng số slot của epoch để ước tính thời gian còn lại.
  • Phân tích trạng thái mạng: Lấy số epoch hiện tại, độ cao block và số lượng giao dịch đã xử lý trong epoch hiện tại.
  • Kiểm tra đồng bộ hóa: Xác minh một node có được đồng bộ hợp lý với mạng hay không bằng cách so sánh thông tin epoch của node đó.

Tham số yêu cầu

Phương thức getEpochInfo có thể 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 cần sử dụng khi truy vấn sổ cái.
    • finalized: Node sẽ truy vấn block gần nhất được đại đa số trong cụm xác nhận là đã đạt mức khóa tối đa.
    • confirmed: Node sẽ truy vấn block gần nhất đã được đại đa số trong cụm bỏ phiếu xác nhận.
    • processed: Node sẽ truy vấn block gần nhất của nó. Lưu ý rằng block có thể chưa hoàn tất.
    • Nếu không được cung cấp, mức cam kết mặc định là finalized.
  • minContextSlot (số, không bắt buộc): Slot tối thiểu mà tại đó yêu cầu có thể được đánh giá. Có thể dùng tham số này để đảm bảo phản hồi đến từ một trạng thái đủ mới.

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

Trường result của phản hồi JSON-RPC sẽ là một đối tượng chứa các trường sau:
  • absoluteSlot (u64): Số slot tuyệt đối hiện tại.
  • blockHeight (u64): Độ cao block hiện tại.
  • epoch (u64): Số epoch hiện tại.
  • slotIndex (u64): Slot hiện tại tính tương đối từ đầu epoch hiện tại.
  • slotsInEpoch (u64): Tổng số slot trong epoch hiện tại.
  • transactionCount (u64 | null): Tổng số giao dịch đã xử lý trong epoch hiện tại. Có thể là null nếu dữ liệu không có sẵn.

Ví dụ

1. Lấy thông tin epoch hiện tại (Không có tham số)

Ví dụ này lấy thông tin về epoch hiện tại bằng mức cam kết mặc định.

2. Lấy thông tin epoch hiện tại với mức cam kết ‘confirmed’

Ví dụ này lấy thông tin epoch bằng mức cam kết confirmed.

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

  • Mức cam kết: Việc chọn commitment có thể ảnh hưởng đến tính kịp thời và tính chung cuộc của dữ liệu. processed nhanh nhất nhưng kém an toàn nhất, còn finalized an toàn nhất nhưng có thể chậm hơn đôi chút. Tìm hiểu thêm về các mức cam kết để biết thông tin chi tiết.
  • Khả dụng của transactionCount: Trường transactionCount có thể là null nếu node không có sẵn thông tin này hoặc nếu thông tin không được theo dõi cho mức cam kết cụ thể.
  • Độ dài epoch: Số lượng slotsInEpoch có thể thay đổi. Bạn có thể sử dụng getEpochSchedule để biết thêm chi tiết về lịch trình epoch.
Hướng dẫn này cung cấp thông tin cần thiết để sử dụng phương thức RPC getEpochInfo nhằm truy xuất thông tin chi tiết về epoch hiện tại trên mạng Solana.

Các phương thức liên quan

getEpochSchedule

Lấy thông tin chi tiết về lịch trình epoch

getSlot

Lấy số slot hiện tại