Skip to main content
Метод RPC requestAirdrop позволяет запросить аирдроп SOL (лампортов) на указанный аккаунт. Этот метод предназначен исключительно для сред, отличных от основной сети, таких как Devnet и Testnet. В них он выполняет роль крана, предоставляющего разработчикам бесплатные SOL для тестирования приложений. Важно: этот метод не работает в Mainnet Beta.

Распространенные сценарии использования

  • Пополнение тестовых кошельков: получение SOL для оплаты комиссий за транзакции и развертывания программ в Devnet или Testnet.
  • Автоматизированное тестирование: скрипты могут использовать requestAirdrop, чтобы перед запуском наборов тестов убедиться, что на тестовых аккаунтах достаточно SOL.
  • Разработка и эксперименты: быстрое получение SOL для взаимодействия с ончейн-программами во время разработки.

Параметры запроса

  1. pubkey (строка, обязательный): публичный ключ аккаунта, который получит лампорты из аирдропа, в виде строки с кодировкой base58.
  2. lamports (u64, обязательный): запрашиваемое количество лампортов. (1 SOL = 1 000 000 000 лампортов).
  3. options (объект, необязательный): необязательный объект конфигурации, который может включать:
    • commitment (строка, необязательный): задает уровень подтверждения, которого необходимо дождаться при подтверждении транзакции аирдропа (например, "finalized", "confirmed", "processed"). Если параметр не указан, используется заданный на узле по умолчанию уровень подтверждения для аирдропов.

Структура ответа

Поле result в ответе JSON-RPC представляет собой одну строку с подписью транзакции аирдропа в кодировке base58. Пример ответа:
Затем эту подпись можно использовать с getTransaction или в обозревателе Solana для отслеживания состояния транзакции аирдропа.

Примеры кода

Рекомендации для разработчиков

  • Зависимость от сети: этот метод работает только в тестовых сетях (Devnet, Testnet), где включен кран. В Mainnet Beta он завершится ошибкой.
  • Ограничение частоты запросов: краны для аирдропов часто ограничивают частоту запросов для предотвращения злоупотреблений. Если отправить слишком много запросов за короткий период, могут возникнуть ошибки.
  • Ограничения суммы: могут действовать ограничения на количество SOL, запрашиваемое за один аирдроп или за определенный период времени.
  • Подтверждение: после того как requestAirdrop вернет подпись, транзакция должна быть обработана и подтверждена сетью. Чтобы дождаться подтверждения, используйте confirmTransaction (из @solana/web3.js) или периодически опрашивайте getSignatureStatuses.
В этом руководстве объясняется, как использовать requestAirdrop для пополнения тестовых аккаунтов в сетях разработки Solana.

Связанные методы

getBalance

Проверьте баланс SOL после получения аирдропа

getSignatureStatuses

Опрашивайте состояние транзакции, чтобы подтвердить аирдроп