Skip to main content
Метод RPC getBalance позволяет легко узнать баланс нативного SOL для любой учетной записи в блокчейне Solana. Он возвращает баланс в лампортах (1 SOL = 1 000 000 000 лампортов). Этот метод требует меньше ресурсов, чем getAccountInfo, если вам нужен только баланс SOL без других сведений об учетной записи.

Основной сценарий использования

  • Быстрая проверка баланса SOL учетной записи: Основное назначение метода — определить, сколько SOL хранится в учетной записи (кошельке, программе и т. д.).

Параметры

  1. publicKey (строка, обязательный): Закодированный в Base58 открытый ключ учетной записи, которую нужно запросить.
  2. 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

Получите пакетные данные нескольких учетных записей одним запросом