Repozytorium Solana Program Examples na GitHubie zawiera kilka podfolderów, z których każdy zawiera przykłady kodu, aby pomóc deweloperom w nauce i eksperymentowaniu z rozwojem blockchaina Solana.
Przykłady znajdziesz w solana-developers/program-examples wraz z plikami
README, które wyjaśniają, jak uruchomić poszczególne przykłady. Większość
przykładów jest samodzielna i dostępna w natywnym Rust (czyli bez frameworka)
oraz z użyciem Anchor (Anchor).
W repozytorium znajdziesz następujące podfoldery, z różnorodnymi przykładami programów w każdym z nich:
Dostępne są również przykłady programów ekosystemowych
Podstawy
Zawiera serię przykładów demonstrujących podstawowe kroki do budowania programów Solana przy użyciu natywnych bibliotek Rust. Przykłady te zostały zaprojektowane, aby pomóc deweloperom zrozumieć podstawowe koncepcje programowania na Solanie.
| Nazwa przykładu | Opis | Język |
|---|---|---|
| Account Data | Zapisywanie adresu z imieniem, numerem domu, ulicą i miastem na koncie. | Native, Anchor |
| Checking Accounts | Lekcje bezpieczeństwa pokazujące, jak przeprowadzać weryfikację kont. | Native, Anchor |
| Close Account | Pokazuje, jak zamknąć konta, aby odzyskać ich rent. | Native, Anchor |
| Counter | Prosty program licznika we wszystkich różnych architekturach. | Native, Anchor, mpl-stack |
| Create Account | Jak utworzyć konto systemowe w ramach programu. | Native, Anchor |
| Cross Program Invocation | Na przykładzie analogii dłoni i dźwigni pokazuje, jak wywołać inny program z poziomu programu. | Native, Anchor |
| hello solana | Przykład „hello world“, który wypisuje hello world w logach transakcji. | Native, Anchor |
| Pda Rent payer | Pokazuje, jak można użyć lamport z PDA do opłacenia nowego konta. | Native, Anchor |
| Processing Instructions | Pokazuje, jak obsługiwać instruction data w postaci ciągu znaków i u32. | Native, Anchor |
| Program Derived Addresses | Pokazuje, jak używać seedów do odwoływania się do PDA i zapisywania w nim danych. | Native, Anchor |
| Realloc | Pokazuje, jak zwiększać i zmniejszać rozmiar istniejącego konta. | Native, Anchor |
| Rent | Tutaj dowiesz się, jak obliczać wymagania dotyczące rent w ramach programu. | Native, Anchor |
| Repository Layout | Zalecenia dotyczące strukturyzowania układu programu. | Native, Anchor |
| Transfer SOL | Różne metody transferu SOL dla kont systemowych i PDA. | Native, Anchor, Seahorse |
Tokeny
Większość tokenów w sieci Solana korzysta ze standardu tokenów Solana Program Library (SPL). Tutaj znajdziesz wiele przykładów dotyczących tworzenia, przesyłania i spalania tokenów, a także interakcji z nimi w programach.
| Nazwa przykładu | Opis | Język |
|---|---|---|
| Create Token | Jak utworzyć token i dodać do niego metadane Metaplex. | Anchor, Native |
| NFT Minter | Tworzenie dokładnie jednej jednostki tokena, a następnie usunięcie uprawnień do mintowania. | Anchor, Native |
| PDA Mint Authority | Pokazuje, jak zmienić uprawnienia mintowania, aby mintować tokeny z poziomu programu. | Anchor, Native |
| SPL Token Minter | Wyjaśnia, jak używać Associated Token Accounts do śledzenia token accounts. | Anchor, Native |
| Token Swap | Rozbudowany przykład pokazujący, jak zbudować pulę AMM (automated market maker) dla tokenów SPL. | Anchor |
| Transfer Tokens | Pokazuje, jak przesyłać tokeny SPL przy użyciu CPI do token program. | Anchor, Native |
| Token-2022 | Zobacz Token 2022 (Token extensions). | Anchor, Native |
Token Extensions (Token 2022)
Token 2022 to nowy standard tokenów w sieci Solana. Jest bardziej elastyczny i pozwala dodać 16 różnych rozszerzeń do mintu tokena, aby wzbogacić go o dodatkowe funkcjonalności. Pełna lista rozszerzeń znajduje się w Przewodniku wprowadzającym
| Nazwa przykładu | Opis | Język |
|---|---|---|
| Basics | Jak utworzyć token, mintować go i przesyłać. | Anchor |
| Default account state | To rozszerzenie pozwala tworzyć token accounts w określonym stanie, na przykład zamrożonym. | Anchor, Native |
| Mint Close Authority | W starym Token Program zamknięcie mintu nie było możliwe. Teraz jest. | Anchor, Native |
| Multiple Extensions | Pokazuje, jak dodać wiele rozszerzeń do jednego mintu. | Native |
| NFT Metadata pointer | Możliwe jest użycie rozszerzenia metadanych do tworzenia NFT i dodawania dynamicznych metadanych on-chain. | Anchor |
| Not Transferable | Przydatne na przykład dla osiągnięć, programów poleceń lub tokenów soul bound. | Anchor, Native |
| Transfer fee | Każdy transfer tokenów zatrzymuje pewną ich ilość w token account, która następnie może zostać odebrana. | Anchor, Native |
| Transfer Hook | Cztery przykłady dodawania dodatkowej funkcjonalności do tokena przy użyciu CPI z Token Program do Twojego programu. | Anchor |
Przykłady programów Solana w ekosystemie
Zewnętrzni dostawcy często utrzymują własne biblioteki przykładowych programów Solana. Są one zarządzane przez dostawców, a nie przez Solana Foundation.
- Przykłady programów Solana od Quicknode zawiera dodatkowe programy, szczególnie dla oprogramowania finansowego, zarówno dla nowszych wersji Anchor, jak i frameworka Quasar.
Is this page helpful?