requestAirdrop, развернете готовую тестовую программу, затем вызовете ее через sendTransaction и подтвердите результат с помощью getSignatureStatuses. Готовая программа позволяет сосредоточиться на цикле развертывания и вызова, а не на написании кода на Rust.
Предварительные требования: Solana CLI и Rust (для сборки программы), Node.js 18+ (для ее вызова), а также ключ API Helius. Devnet доступна на любом тарифном плане Helius.
1
Point the Solana CLI at your Helius devnet RPC
Используйте конечную точку Helius для каждой команды CLI и создайте кошелек, если у вас его еще нет:
solana address выводит публичный ключ вашего кошелька, баланс которого вы пополните на следующем шаге.2
Get devnet SOL
Для развертывания требуется немного SOL. Токены SOL в devnet бесплатны и предназначены только для тестирования, поэтому пополните свой адрес через кран ниже или с помощью CLI:
Для кранов devnet действуют ограничения частоты запросов, поэтому раздача токенов может завершиться ошибкой. В таком случае немного подождите и повторите попытку либо воспользуйтесь официальным веб-краном Solana для devnet в качестве запасного варианта. Для развертывания тестовой программы требуется всего около 1 SOL.
3
Clone and build the sample program
Скачайте программу «Hello, Solana!» из официального репозитория Solana program-examples. При вызове она просто записывает приветствие в журнал. Это практически самая маленькая программа, которая позволяет убедиться, что весь цикл работает.
program-examples — это рабочая область Cargo, поэтому cargo build-sbf компилирует программу в target/deploy/hello_solana_program.so в корне репозитория, а не в папке программы. Для следующего шага оставайтесь в каталоге program-examples.4
Deploy to devnet through Helius
5
Invoke the program with sendTransaction
В новой папке настройте небольшой клиент TypeScript, который создает, отправляет и подтверждает транзакцию.Замените Вы получите подпись и ссылку на Explorer. Откройте ссылку и разверните раздел Program Instruction Logs, чтобы увидеть приветствие программы
invoke.ts
YOUR_API_KEY и YOUR_PROGRAM_ID, а затем запустите клиент:Hello, Solana!.Что происходит
Все запросы проходят через Helius RPC
solana config set --url направляет каждую команду CLI — раздачу токенов, развертывание и проверку баланса — в вашу конечную точку Helius для devnet. Клиент TypeScript использует ту же конечную точку, поэтому весь процесс выполняется в инфраструктуре Helius.
Цикл вызова: отправка, затем подтверждение
sendRawTransaction вызывает метод RPC sendTransaction и немедленно возвращает подпись, еще до того, как сеть обработает транзакцию. Поэтому нужно опрашивать getSignatureStatuses, пока confirmationStatus не достигнет состояния confirmed, и проверять err для обнаружения ошибок. Этот шаблон «отправить, затем подтвердить» лежит в основе каждой отправляемой вами транзакции Solana.
Следующие шаги
How to Get Devnet SOL
Все способы пополнения кошелька в devnet и рекомендации по ограничениям частоты запросов.
sendTransaction
Все параметры, включая skipPreflight, preflightCommitment и повторные попытки.
Land transactions reliably
При переходе в mainnet используйте Sender для включения транзакций в блок с минимальной задержкой.
Build a portfolio tracker
Альтернативный вариант: получите токены, NFT и SOL любого кошелька с лентой активности в реальном времени.