getBalance là một cách đơn giản để kiểm tra số dư SOL gốc của bất kỳ tài khoản nào trên blockchain Solana. Phương thức này trả về số dư theo lamport (1 SOL = 1.000.000.000 lamport).
Phương thức này nhẹ hơn getAccountInfo nếu bạn chỉ cần số dư SOL mà không cần thông tin tài khoản nào khác.
Trường hợp sử dụng chính
- Kiểm tra nhanh lượng SOL nắm giữ của một tài khoản: Mục đích chính là xác định lượng SOL mà một tài khoản (ví, chương trình, v.v.) đang nắm giữ.
Tham số
-
publicKey(chuỗi, bắt buộc): Khóa công khai được mã hóa base-58 của tài khoản cần truy vấn. -
config(đối tượng, không bắt buộc): Đối tượng cấu hình có các trường sau:commitment(chuỗi, không bắt buộc): Chỉ định mức cam kết dùng cho truy vấn. Mặc định làfinalized.finalized: Nút sẽ truy vấn khối gần nhất được đại đa số cụm xác nhận là đã đạt thời gian khóa tối đa.confirmed: Nút sẽ truy vấn khối gần nhất đã được đại đa số cụm bỏ phiếu.processed: Nút sẽ truy vấn khối gần nhất của mình. Lưu ý rằng khối này có thể chưa hoàn chỉnh.
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á.
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(số): Slot tại đó số dư được truy xuất.apiVersion(chuỗi, không bắt buộc): Phiên bản API RPC (có thể không được cung cấp từ tất cả các nút).
value(số): Số dư tài khoản tính bằng lamport (số nguyên 64 bit không dấu).
getBalance thường sẽ trả về giá trị 0 lamport.
Ví dụ: Truy xuất số dư tài khoản
Hãy kiểm tra số dư SOL của ID Serum Program V3 (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) trên mạng chính. Bản thân tài khoản chương trình này nắm giữ SOL để được miễn tiền thuê.
Lưu ý: Thay YOUR_API_KEY bằng khóa API Helius thực tế của bạn trong các ví dụ dưới đây.
Mẹo dành cho nhà phát triển
- Đơn giản hóa việc lấy số dư SOL: Nếu bạn chỉ cần số dư SOL của tài khoản mà không cần dữ liệu trên chuỗi nào khác (như chủ sở hữu, dữ liệu hoặc trạng thái thực thi),
getBalancehiệu quả hơngetAccountInfovì truy xuất ít dữ liệu hơn. - Tài khoản không tồn tại: Nếu một tài khoản không tồn tại trên chuỗi (chưa từng được khởi tạo hoặc chưa từng có SOL),
getBalancesẽ trả về0. Đây có thể là cách nhanh chóng để kiểm tra sự tồn tại của tài khoản nếu bạn chỉ quan tâm đến số dư SOL của tài khoản đó. - Lamport và SOL: Hãy nhớ rằng số dư được trả về theo lamport. Bạn cần chia cho
LAMPORTS_PER_SOL(1.000.000.000) để chuyển đổi sang SOL. - Mức cam kết: Việc lựa chọn
commitmentcó thể ảnh hưởng đến tốc độ nhận số dư và mức độ xác nhận của số dư đó. Đối với hầu hết mục đích hiển thị trên giao diện người dùng,confirmedmang lại sự cân bằng hợp lý. Đối với các giao dịch tài chính quan trọng,finalizedmang lại độ đảm bảo cao nhất. Xem Các mức cam kết của Solana để biết thông tin chi tiết. - Xử lý theo lô với
getMultipleAccounts: Mặc dùgetBalancedành cho một tài khoản, nếu cần số dư của nhiều tài khoản, việc sử dụnggetMultipleAccountsrồi trích xuất số dư lamport từ thông tin của từng tài khoản có thể mang lại hiệu suất cao hơn so với nhiều lệnh gọigetBalanceriêng lẻ.
Phương thức liên quan
getAccountInfo
Lấy đầy đủ thông tin tài khoản, bao gồm dữ liệu, chủ sở hữu và trạng thái thực thi
getMultipleAccounts
Truy xuất hàng loạt nhiều tài khoản trong một yêu cầu duy nhất