getBalance позволяет легко узнать баланс нативного SOL для любой учетной записи в блокчейне Solana. Он возвращает баланс в лампортах (1 SOL = 1 000 000 000 лампортов).
Этот метод требует меньше ресурсов, чем getAccountInfo, если вам нужен только баланс SOL без других сведений об учетной записи.
Основной сценарий использования
- Быстрая проверка баланса SOL учетной записи: Основное назначение метода — определить, сколько SOL хранится в учетной записи (кошельке, программе и т. д.).
Параметры
-
publicKey(строка, обязательный): Закодированный в Base58 открытый ключ учетной записи, которую нужно запросить. -
config(объект, необязательный): Объект конфигурации со следующими полями:commitment(строка, необязательное): Задает уровень подтверждения, используемый для запроса. Значение по умолчанию —finalized.finalized: Узел запросит последний блок, который квалифицированное большинство кластера подтвердило как достигший максимальной блокировки.confirmed: Узел запросит последний блок, за который проголосовало квалифицированное большинство кластера.processed: Узел запросит свой последний блок. Обратите внимание, что блок может быть неполным.
minContextSlot(число, необязательное): Минимальный слот, на котором может быть обработан запрос.
Ответ
Полеresult ответа JSON-RPC будет содержать объект со следующими данными:
context(объект):slot(число): Слот, на котором был получен баланс.apiVersion(строка, необязательное): Версия RPC API (может отсутствовать у некоторых узлов).
value(число): Баланс учетной записи в лампортах (беззнаковое 64-битное целое число).
getBalance обычно возвращает значение 0 лампортов.
Пример: получение баланса учетной записи
Проверим баланс SOL идентификатора Serum Program V3 (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) в основной сети. Эта программная учетная запись сама хранит SOL для освобождения от арендной платы.
Примечание: В приведенных ниже примерах замените YOUR_API_KEY своим фактическим ключом Helius API.
Рекомендации для разработчиков
- Простой способ получить баланс SOL: Если вам нужен только баланс SOL учетной записи без других данных из блокчейна (например, владельца, данных или статуса исполняемости),
getBalanceэффективнееgetAccountInfo, поскольку получает меньше данных. - Несуществующие учетные записи: Если учетная запись не существует в блокчейне (никогда не была инициализирована или не имела SOL),
getBalanceвернет0. Это быстрый способ проверить существование учетной записи, если вас интересует только ее баланс SOL. - Лампорты и SOL: Помните, что баланс возвращается в лампортах. Чтобы преобразовать его в SOL, разделите значение на
LAMPORTS_PER_SOL(1 000 000 000). - Уровни подтверждения: Выбор
commitmentможет повлиять на скорость получения баланса и степень его подтверждения. Для большинства задач отображения в пользовательском интерфейсеconfirmedобеспечивает хороший баланс. Для критически важных финансовых транзакцийfinalizedобеспечивает максимальную надежность. Подробную информацию см. в статье «Уровни подтверждения Solana». - Пакетная обработка с
getMultipleAccounts: МетодgetBalanceпредназначен для одной учетной записи. Если вам нужны балансы множества учетных записей, вызовgetMultipleAccountsс последующим извлечением баланса в лампортах из данных каждой учетной записи может быть производительнее множества отдельных вызововgetBalance.
Связанные методы
getAccountInfo
Получите полные сведения об учетной записи, включая данные, владельца и статус исполняемости
getMultipleAccounts
Получите пакетные данные нескольких учетных записей одним запросом