Примеры программ
Репозиторий 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 | Показывает, как использовать lamports из PDA для оплаты нового аккаунта. | Native, Anchor |
| Processing Instructions | Показывает, как обрабатывать строку данных инструкции и 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). Здесь вы найдете множество примеров того, как создавать, передавать, сжигать токены и даже взаимодействовать с ними в программах.
| Название примера | Описание | Язык |
|---|---|---|
| Создание токена | Как создать токен и добавить к нему метаданные Metaplex. | Anchor, Native |
| Минтер NFT | Создание только одного количества токена и затем удаление полномочий на выпуск. | Anchor, Native |
| PDA Mint Authority | Показывает, как изменить полномочия на выпуск токенов, чтобы выпускать токены из программы. | Anchor, Native |
| Минтер SPL токенов | Объясняет, как использовать связанные токен-аккаунты для отслеживания токен-аккаунтов. | Anchor, Native |
| Обмен токенов | Подробный пример создания пула AMM (автоматизированного маркет-мейкера) для SPL токенов. | Anchor |
| Передача токенов | Показывает, как передавать SPL токены с использованием CPI в токен-программу. | Anchor, Native |
| Token-2022 | См. Token 2022 (расширения токенов). | Anchor, Native |
Token 2022 (расширения токенов)
Token 2022 — это новый стандарт токенов на Solana. Он более гибкий и позволяет добавлять 16 различных расширений к выпуску токенов, чтобы добавить им больше функциональности. Полный список расширений можно найти в руководстве для начинающих
| Название примера | Описание | Язык |
|---|---|---|
| Основы | Как создать токен, выпустить и передать его. | Anchor |
| Состояние аккаунта по умолчанию | Это расширение позволяет создавать токен-аккаунты с определенным состоянием, например, замороженным. | Anchor, Native |
| Полномочия на закрытие выпуска | В старой токен-программе было невозможно закрыть выпуск. Теперь это возможно. | Anchor, Native |
| Множественные расширения | Показывает, как можно добавить несколько расширений к одному выпуску. | Native |
| Указатель на метаданные NFT | Можно использовать расширение метаданных для создания NFT и добавления динамических метаданных в блокчейне. | Anchor |
| Непередаваемые токены | Полезно, например, для достижений, реферальных программ или любых soul bound токенов. | Anchor, Native |
| Комиссия за передачу | При каждой передаче токенов часть токенов удерживается в токен-аккаунте, которые затем можно собрать. | Anchor, Native |
| Hook передачи | Четыре примера добавления дополнительной функциональности к вашему токену с использованием CPI из токен-программы в вашу программу. | Anchor |
Is this page helpful?