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

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

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

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

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

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

Основы

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

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

Токены

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

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

Token Extensions (Token 2022)

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

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

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

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

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

Is this page helpful?

Содержание

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