Примеры программ
Репозиторий 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?