Skip to main content
Среда Solana Devnet — важнейшая часть процесса разработки для Solana. В этой статье рассматриваются основы использования Orb, нашего нового обозревателя блоков Solana Devnet, включая поиск программ, проверку транзакций и отладку ошибок. 

Обозреватель Solana Devnet

Обозреватель Orb поддерживает все три кластера Solana:
  1. Mainnet-beta
  2. Devnet
  3. Testnet
Чтобы получить доступ к этим кластерам, выберите нужный кластер в правом верхнем углу интерфейса.
Обозреватель Solana Devnet Orb

Changing the Solana cluster to Devnet on Orb

Кроме того, можно добавить параметр кластера в конец URL:
  • ?cluster=mainnet-beta
  • ?cluster=devnet
  • ?cluster=testnet

Как найти адрес выпуска токена в Solana Devnet

При тестировании программ в Solana Devnet вам потребуется получить SOL в Devnet через кран Solana Devnet или вызвав метод airdrop из Solana CLI. Вам также потребуется конечная точка Solana Devnet RPC, которую можно бесплатно получить на панели управления Helius. Помимо SOL в Devnet, вам могут потребоваться другие токены, например USDC в Devnet. Чтобы найти адрес выпуска токена Solana в Devnet, введите название токена в строке поиска.
Поиск токенов Solana Devnet в обозревателе Orb

Searching for a Solana Devnet token on Orb

Если обнаружены дубликаты, сверьте адрес токена с документацией эмитента. Например, список адресов выпуска токена USDC от Circle содержит все поддерживаемые сети и кластеры. Адрес выпуска USDC в Solana Devnet: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU Если вы тестируете собственные функции токенов, скорее всего, вам потребуется выпустить собственные токены с помощью программы токенов Solana (Devnet) или программы Token 2022 (Devnet).

Как отлаживать неудачные транзакции в Solana Devnet

Один из распространенных сценариев использования обозревателей Devnet в Solana — устранение неполадок в транзакциях развернутых в Devnet программ перед их развертыванием в Mainnet-beta. В этом примере рассмотрим случайную неудачную транзакцию с обернутым SOL.

Объяснение с помощью ИИ

Нажав кнопку «Объяснить с помощью ИИ», мы видим, что обмен через программу Raydium CP Swap Program (DRay…Wpyb) завершился неудачно из-за ошибки «недостаточно средств» (0x1), возникшей при переводе токенов.
Объяснение неудачной транзакции Solana Devnet с помощью ИИ в обозревателе Orb

Using Orb’s AI Explainer to understand a failed transaction on Solana Devnet

Проверка журналов

Чтобы продолжить отладку транзакции, откройте вкладку Журналы. В этом представлении показаны список вызванных во время транзакции программ, вызванные ими инструкции, количество использованных вычислительных единиц и их статус (то есть успех или ошибка). 
Отладка ошибок ончейн-программ в обозревателе Solana Devnet Orb

Finding failed transaction logs on Orb’s Solana Devnet explorer

В этом конкретном примере мы видим, что во время выполнения инструкции TransferChecked программы токенов программа зарегистрировала ошибку «недостаточно средств» и вернула ошибку 0x1.

Проверка необработанных выходных данных

Чтобы продолжить отладку, рассмотрим необработанные выходные данные и определим, какой кошелек вызвал ошибку, какой токен пытались перевести и каковы были балансы до транзакции.
Необработанные журналы инструкций перевода токенов Solana Devnet в обозревателе Orb

Reading the raw JSON outputs of a Solana Devnet transaction on Orb

Здесь видно, что innerInstruction (индекс 2, то есть 3-я инструкция) имеет тип TransferChecked и пытается отправить 26,874,347.041642 единицы токена DaHE...8R8i (Wildlife Conservation Coin) со счета токенов GVBbU...5TUP кошелька Bzi4...tuvF на целевой счет токенов 2yXu...qsTP. Прокрутив страницу вниз, мы видим, что журналы инструкций подтвердили: внутренняя инструкция с индексом 2 зарегистрировала ошибку недостатка средств при выполнении инструкции TransferChecked программы токенов.
Журналы обработанных инструкций в необработанном JSON в обозревателе Solana Devnet Orb

Finding an “insufficient funds” error logged for Solana’s Token Program on the Orb Devnet explorer

Поскольку нам известно, что DRay…WpYb — это программа Raydium CP Swap Program, можно предположить, что в пуле ликвидности с токеном DaHE...8R8i было недостаточно средств для обмена запрошенного объема.

Как найти адреса программ Solana Devnet

Еще один распространенный сценарий использования обозревателей Solana Devnet — поиск идентификаторов программ, развернутых в Devnet для тестирования. Как и при изучении программ в Solana Mainnet-beta, просто переключите кластер на Devnet, найдите программу по названию и нажмите на результат. Если у искомой программы нет метки, свяжитесь с нашей командой.

Идентификаторы основных программ Solana Devnet

Ниже перечислены некоторые из наиболее важных основных программ Solana, развернутых в Devnet:

Идентификаторы прикладных программ Solana Devnet

При тестировании интеграций разработчикам также потребуется протестировать работу с популярными ончейн-программами, такими как Metaplex, Jupiter, Pyth, Wormhole, Pump.fun и многими другими. Ниже приведены идентификаторы некоторых из самых популярных программ Solana Devnet: Как и при изучении программ Solana в Mainnet-beta, средство просмотра программ Devnet в Orb предоставляет историю транзакций, IDL, сведения о проверке и безопасности, а также данные об управляющих адресах.
IDL программы основного моста Wormhole, развернутой в Solana Devnet, в обозревателе Orb

The IDL for Wormhole’s Core Bridge program deployed on Solana Devnet in the Orb explorer

Заключение

Развертывание программ и отладка ошибок в Solana Devnet — важнейший этап жизненного цикла разработки для Solana. Orb — это быстрый и понятный обозреватель блокчейна Solana Devnet, который помогает разработчикам понять происходящее ончейн, найти проблемы и устранить их. Подробнее об Orb читайте в нашем анонсе и руководствах пользователя. Если вам нужны альтернативы Solana Devnet, ознакомьтесь с новыми инструментами для разработчиков, такими как Surfpool.