Репозиторій 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 (SPL). Тут ви знайдете багато прикладів того, як карбувати, передавати, спалювати токени, а також як взаємодіяти з ними у програмах.
| Назва прикладу | Опис | Мова |
|---|---|---|
| Create Token | Як створити токен і додати до нього метадані Metaplex. | Anchor, Native |
| NFT Minter | Карбування рівно одного екземпляра токена з подальшим видаленням повноважень на карбування. | Anchor, Native |
| PDA Mint Authority | Показує, як змінити повноваження карбування для карбування токенів зсередини програми. | Anchor, Native |
| SPL Token Minter | Пояснює, як використовувати Associated Token Accounts для відстеження token account. | 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 account з певним станом, наприклад замороженим. | Anchor, Native |
| Mint Close Authority | У старому Token Program закрити карбування було неможливо. Тепер це можливо. | Anchor, Native |
| Multiple Extensions | Показує, як додати кілька розширень до одного карбування. | Native |
| NFT Metadata pointer | За допомогою розширення метаданих можна створювати NFT і додавати динамічні метадані в мережі. | Anchor |
| Not Transferable | Корисно, наприклад, для досягнень, реферальних програм або будь-яких прив'язаних до душі токенів. | 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?