Chuyển đến nội dung chính
POST
getHistoricalAccountInfo
getHistoricalAccountInfo đang ở giai đoạn Beta. Các tham số, mức giá, định dạng phản hồi và phạm vi dữ liệu có thể thay đổi.

Tổng quan

getHistoricalAccountInfo trả về một tài khoản Solana tại một slot trong quá khứ hoặc ngay sau một giao dịch cụ thể trong slot đó. Đây là phương thức RPC độc quyền của Helius. getAccountInfo tiêu chuẩn chỉ trả về trạng thái hiện tại. Phản hồi có các trường tài khoản giống như getAccountInfo, cộng thêm lastUpdatedAt: slot và giao dịch đã ghi lần gần nhất trạng thái mà bạn nhận được. Dữ liệu lịch sử có từ slot 444,959,999 (ngày 7 tháng 9 năm 2026) trở đi, tương ứng với trạng thái tại thời điểm bắt đầu epoch 1030. Các yêu cầu cho những slot trước đó trả về lỗi -32018. getHistoricalAccountInfo khả dụng trên mainnet đối với gói Business trở lên và có chi phí 0 credit cho mỗi lần gọi trong giai đoạn beta. Mức giá có thể thay đổi.

Chọn một vị trí trong lịch sử

Tham số thứ hai là một đối tượng truy vấn dùng để chọn thời điểm cần đọc trong lịch sử: transactionIndex yêu cầu slot. Để đọc một tài khoản ngay trước giao dịch tại chỉ mục N, hãy truy vấn transactionIndex: N - 1. Đối với giao dịch đầu tiên trong một slot, hãy truy vấn slot trước đó mà không có transactionIndex. Các thao tác ghi không thuộc giao dịch, chẳng hạn như phần thưởng epoch, được áp dụng ở cuối slot. Truy vấn có transactionIndex không bao giờ bao gồm các thao tác này.

Ví dụ về yêu cầu

Đọc phản hồi

  • value là tài khoản tại vị trí được yêu cầu, hoặc null nếu tài khoản chưa tồn tại vào thời điểm đó: tài khoản chưa được tạo hoặc đã bị đóng. Phản hồi null không có lastUpdatedAt.
  • lastUpdatedAt.slot và lastUpdatedAt.transactionIndex xác định thao tác ghi đã tạo ra trạng thái này. Thao tác ghi diễn ra tại hoặc trước vị trí bạn yêu cầu.
  • lastUpdatedAt.transactionIndex là null khi thao tác ghi diễn ra bên ngoài một giao dịch, chẳng hạn như phần thưởng epoch.
  • lastUpdatedAt.slot bằng 444,959,999 với transactionIndex là null nghĩa là tài khoản chưa thay đổi kể từ khi phạm vi dữ liệu lịch sử bắt đầu. Điều này không có nghĩa là tài khoản đã được ghi trong slot đó.
  • context.slot là slot mới nhất mà Helius đã lập chỉ mục khi xử lý yêu cầu, không phải slot bạn đã truy vấn.
  • Tài khoản token jsonParsed sử dụng số chữ số thập phân của mint tại vị trí được yêu cầu. Nếu không thể đọc mint tại vị trí đó, tài khoản sẽ chuyển sang dùng base64.
Để liệt kê mọi trạng thái trước đây của một tài khoản, hãy dùng lastUpdatedAt làm con trỏ. Xem Duyệt ngược lịch sử tài khoản.

Lỗi

Phương thức liên quan

Historical Accounts Guide

Cách vị trí, phạm vi dữ liệu và lastUpdatedAt hoạt động đối với các phương thức tài khoản lịch sử

getHistoricalTokenAccountsByOwner

Liệt kê các tài khoản token của một ví tại một slot trong quá khứ

getTransactionsForAddress

Tìm slot và transactionIndex của các giao dịch bạn muốn kiểm tra

getAccountInfo

Đọc trạng thái hiện tại của một tài khoản

Tham số yêu cầu

string
bắt buộc
Địa chỉ được mã hóa Base-58 của tài khoản cần đọc.
number
Slot cần đọc trạng thái. Trả về tài khoản tại thời điểm kết thúc slot này. Slot sớm nhất được hỗ trợ là 444959999, tương ứng với trạng thái tại thời điểm bắt đầu epoch 1030. Khi bị bỏ qua, hệ thống đọc slot mới nhất đã được lập chỉ mục, giới hạn theo mức commitment được yêu cầu.
number
Vị trí của một giao dịch trong slot. Trả về trạng thái tài khoản ngay sau khi giao dịch đó được thực thi, thay vì ở cuối slot. Yêu cầu slot.
string
mặc định:"base64"
Định dạng mã hóa cho dữ liệu tài khoản. base58 và binary không được hỗ trợ.
  • base64
  • base64+zstd
  • jsonParsed
object
Chỉ trả về một phần dữ liệu của mỗi tài khoản. Áp dụng cho kiểu mã hóa base64 và base64+zstd.
number
bắt buộc
Độ lệch byte nơi bắt đầu đọc.
number
bắt buộc
Số byte cần trả về.
string
mặc định:"finalized"
Mức commitment. processed không được hỗ trợ.
  • finalized
  • confirmed
number
Slot tối thiểu mà tại đó yêu cầu có thể được đánh giá.

Ủy quyền

api-key
string
query
bắt buộc

Khóa API Helius của bạn. Bạn có thể nhận khóa miễn phí trong bảng điều khiển.

Nội dung

application/json
jsonrpc
enum<string>
mặc định:2.0
bắt buộc

Phiên bản giao thức JSON-RPC.

Tùy chọn có sẵn:
2.0
Ví dụ:

"2.0"

id
string
mặc định:1
bắt buộc

Mã định danh duy nhất cho yêu cầu.

Ví dụ:

"1"

method
enum<string>
mặc định:getHistoricalAccountInfo
bắt buộc

Tên của phương thức RPC cần gọi.

Tùy chọn có sẵn:
getHistoricalAccountInfo
Ví dụ:

"getHistoricalAccountInfo"

params
(string | Truy vấn · object | Cấu hình · object)[]
bắt buộc

Mảng chứa địa chỉ tài khoản, một đối tượng truy vấn tùy chọn dùng để chọn vị trí trong lịch sử và một đối tượng cấu hình tùy chọn.

Required array length: 1 - 3 elements

Địa chỉ được mã hóa Base-58 của tài khoản cần đọc.

Ví dụ:

"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

Phản hồi

Đã truy xuất thành công trạng thái tài khoản trong quá khứ.

jsonrpc
enum<string>

Phiên bản giao thức JSON-RPC.

Tùy chọn có sẵn:
2.0
Ví dụ:

"2.0"

id
string

Mã định danh khớp với yêu cầu.

Ví dụ:

"1"

result
object