Документация SolanaРазработка программ

Примеры программ

Репозиторий Solana Program Examples на GitHub предлагает несколько подпапок, каждая из которых содержит примеры кода, чтобы помочь разработчикам изучать и экспериментировать с разработкой на блокчейне Solana.

Вы можете найти примеры в solana-developers/program-examples вместе с файлами README, которые объясняют, как запускать различные примеры. Большинство примеров являются самостоятельными и доступны как на чистом Rust (то есть без фреймворков), так и с использованием Anchor.

В репозитории вы найдете следующие подпапки, каждая из которых содержит различные примеры программ:

Также доступны примеры программ экосистемы

Основы

Содержит серию примеров, демонстрирующих основные шаги для создания программ Solana с использованием нативных библиотек Rust. Эти примеры разработаны для того, чтобы помочь разработчикам понять ключевые концепции программирования на Solana.

Название примераОписаниеЯзык
Account DataСохранение адреса с именем, номером дома, улицей и городом в аккаунте.Native, Anchor
Checking AccountsУроки по безопасности, показывающие как выполнять проверки аккаунтов.Native, Anchor
Close AccountПоказывает, как закрывать аккаунты для возврата rent.Native, Anchor
CounterПростая программа-счётчик во всех различных архитектурах.Native, Anchor, mpl-stack
Create AccountКак создать системный аккаунт внутри программы.Native, Anchor
Cross Program InvocationНа аналогии с рукой и рычагом показывает, как вызвать одну программу из другой.Native, Anchor
hello solanaПример «Hello World», который просто выводит «hello world» в логах транзакции.Native, Anchor
Pda Rent payerПоказывает, как использовать lamport из PDA для оплаты нового аккаунта.Native, Anchor
Processing InstructionsПоказывает, как обрабатывать instruction data типов string и u32.Native, Anchor
Program Derived AddressesПоказывает, как использовать seeds для обращения к PDA и сохранения в нём данных.Native, Anchor
ReallocПоказывает, как увеличивать и уменьшать размер существующего аккаунта.Native, Anchor
RentЗдесь вы узнаете, как рассчитывать требования к rent внутри программы.Native, Anchor
Repository LayoutРекомендации по структурированию макета вашей программы.Native, Anchor
Transfer SOLРазличные методы перевода SOL для системных аккаунтов и PDA.Native, Anchor, Seahorse

Токены

Большинство токенов в Solana используют стандарт токенов библиотеки Solana Program Library (SPL). Здесь вы найдёте множество примеров того, как создавать, передавать и сжигать токены, а также как взаимодействовать с ними в программах.

Название примераОписаниеЯзык
Create TokenКак создать токен и добавить к нему метаданные Metaplex.Anchor, Native
NFT MinterВыпуск единственного экземпляра токена с последующим удалением права на эмиссию.Anchor, Native
PDA Mint AuthorityПоказывает, как изменить право на эмиссию минта для выпуска токенов внутри программы.Anchor, Native
SPL Token MinterОбъясняет, как использовать Associated Token Accounts для отслеживания token accounts.Anchor, Native
Token SwapПодробный пример, показывающий, как создать пул AMM (автоматический маркет-мейкер) для SPL-токенов.Anchor
Transfer TokensПоказывает, как переводить SPL-токены с помощью CPI в token program.Anchor, Native
Token-2022См. Token 2022 (Token extensions).Anchor, Native

Token Extensions (Token 2022)

Token 2022 — это новый стандарт токенов на Solana. Он более гибкий и позволяет добавить 16 различных расширений к минту токена для расширения его функциональности. Полный список расширений можно найти в руководстве по началу работы.

Название примераОписаниеЯзык
BasicsКак создать токен, выпустить и передать его.Anchor
Default account stateЭто расширение позволяет создавать token accounts с определённым состоянием, например замороженным.Anchor, Native
Mint Close AuthorityВ старом Token Program закрыть минт было невозможно. Теперь это стало возможным.Anchor, Native
Multiple ExtensionsПоказывает, как добавить несколько расширений к одному минту.Native
NFT Metadata pointerС помощью расширения метаданных можно создавать NFT и добавлять динамические метаданные прямо в блокчейн.Anchor
Not TransferableПолезно, например, для достижений, реферальных программ или привязанных к душе (soul bound) токенов.Anchor, Native
Transfer feeПри каждой передаче токенов часть из них удерживается в token account, откуда их впоследствии можно собрать.Anchor, Native
Transfer HookЧетыре примера добавления дополнительной функциональности к токену с использованием CPI из Token Program в вашу программу.Anchor

Примеры программ экосистемы Solana

Сторонние разработчики нередко поддерживают собственные библиотеки примеров программ Solana. Они поддерживаются провайдерами, а не Solana Foundation.

  • Примеры программ Solana от Quicknode предоставляют дополнительные программы, в особенности для финансового программного обеспечения, как для новых версий Anchor, так и для фреймворка Quasar.

Is this page helpful?

Содержание

Редактировать страницу