Репозиторий 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?