requestAirdrop позволяет запросить аирдроп SOL (лампортов) на указанный аккаунт. Этот метод предназначен исключительно для сред, отличных от основной сети, таких как Devnet и Testnet. В них он выполняет роль крана, предоставляющего разработчикам бесплатные SOL для тестирования приложений.
Важно: этот метод не работает в Mainnet Beta.
Распространенные сценарии использования
- Пополнение тестовых кошельков: получение SOL для оплаты комиссий за транзакции и развертывания программ в Devnet или Testnet.
- Автоматизированное тестирование: скрипты могут использовать
requestAirdrop, чтобы перед запуском наборов тестов убедиться, что на тестовых аккаунтах достаточно SOL. - Разработка и эксперименты: быстрое получение SOL для взаимодействия с ончейн-программами во время разработки.
Параметры запроса
pubkey(строка, обязательный): публичный ключ аккаунта, который получит лампорты из аирдропа, в виде строки с кодировкой base58.lamports(u64, обязательный): запрашиваемое количество лампортов. (1 SOL = 1 000 000 000 лампортов).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
Опрашивайте состояние транзакции, чтобы подтвердить аирдроп