Приклади програм
Репозиторій 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 | Показує, як використовувати seed для посилання на 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 Account для відстеження 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 2022 (Token Extensions)
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 | Корисно, наприклад, для досягнень, реферальних програм або будь-яких токенів, прив'язаних до душі (soul bound). | Anchor, Native |
Transfer fee | Кожна передача токенів утримує деякі токени в token account, які потім можна зібрати. | Anchor, Native |
Transfer Hook | Чотири приклади додавання додаткової функціональності до вашого токена за допомогою CPI з token program у вашу програму. | Anchor |
Is this page helpful?