Q&A 02 QUESTION 1/

  1. Làm thế nào để tôi có thể truy vấn ví hoặc số dư jetton dựa trên một mã số khối cũ? Tôi muốn hỏi rằng có phương thức API nào để truy vấn dữ liệu căn cứ theo mã số khối cũ hay không? Ví dụ như chọn ra một mã số khối cũ và truy vấn số dư TON của một ví.

    Một ví dụ khác là khởi chạy cú pháp getter (hàm hoặc phương thức được sử dụng để lấy giá trị của các biến), giống như phương thức số dư của hợp đồng jetton, căn cứ vào mã số khối cũ.

    Tôi có cần phải lưu giữ thông tin node cho việc này không?

Trả lời: Cấu hình mặc định của ton full node (https://github.com/ton-blockchain/ton/blob/master/validator/validator.h#L95) được cài đặt để lưu trạng thái trong vòng 1 giờ đồng hồ. Các dữ liệu liên quan tới chuỗi khối thì được lưu trong vòng 1 tuần. Hai thứ này sẽ được đưa tới thư mục lưu trữ sau thời gian nêu trên. Thư mục lưu trữ sẽ bị xóa sau 1 năm. Cấu hình này có thể thay đổi được và các node lưu trữ sẽ theo đó triển khai các node của họ với những giá trị lớn hơn rõ rệt để người dùng có thể truy vấn trạng thái trong mọi thời gian bất kỳ trong bản ghi/lịch sử. Để truy vấn được một trạng thái cũ (lâu hơn 1 giờ đồng hồ) bạn cần phải sử dụng node lưu trữ. Bằng cách dùng TON APIv4, bạn có thể dùng truy vấn

GET /block/<seqno>/<address>/run/<method>/<args?>

kết hợp với method=get_wallet_data để truy vấn số dư jetton.

Ví dụ như trong Toncenter, việc truy vấn một phương thức từ các trạng thái cũ là không khả thi. Tuy nhiên, bạn có thể sử dụng getTransactions cùng với archival=true để lấy ra tất cả giao dịch và tính toán được chính xác số lượng trên mỗi trạng thái. Các giao dịch trên một node không lưu trữ (node mặc định) sẽ được lưu giữ trong 1 tuần.

Last updated