GitHub의 Solana Program Examples 저장소는 개발자들이 Solana 블록체인 개발을 배우고 실험하는 데 도움이 되는 코드 예제가 포함된 여러 하위 폴더를 제공합니다.
예제는 solana-developers/program-examples에서 찾을 수 있으며, 각 예제를
실행하는 방법을 설명하는 README 파일이 함께 제공됩니다. 대부분의 예제는
독립적으로 실행 가능하며 네이티브 Rust(즉, 프레임워크 없이)와
Anchor 버전으로 제공됩니다.
저장소 내에서 다음과 같은 하위 폴더를 찾을 수 있으며, 각 폴더에는 다양한 예제 프로그램이 포함되어 있습니다:
에코시스템 프로그램 예제도 있습니다
기초
네이티브 Rust 라이브러리를 사용하여 Solana 프로그램을 구축하는 기초적인 단계를 보여주는 일련의 예제들을 포함합니다. 이 예제들은 개발자들이 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 | PDA의 lamport를 사용하여 새 계정 비용을 지불하는 방법을 보여줍니다. | Native, Anchor |
| Processing Instructions | instruction data 문자열과 u32를 처리하는 방법을 보여줍니다. | Native, Anchor |
| Program Derived Addresses | 시드를 사용하여 PDA를 참조하고 데이터를 저장하는 방법을 보여줍니다. | Native, Anchor |
| Realloc | 기존 계정의 크기를 늘리거나 줄이는 방법을 보여줍니다. | Native, Anchor |
| Rent | 프로그램 내에서 rent 요구사항을 계산하는 방법을 배웁니다. | Native, Anchor |
| Repository Layout | 프로그램 레이아웃을 구성하는 방법에 대한 권장사항입니다. | Native, Anchor |
| Transfer SOL | 시스템 계정과 PDA에서 SOL을 전송하는 다양한 방법입니다. | Native, Anchor, Seahorse |
토큰
Solana의 대부분의 토큰은 Solana Program Library(SPL) 토큰 표준을 사용합니다. 여기에서 토큰을 민팅하고, 전송하고, 소각하는 방법과 프로그램 내에서 토큰과 상호작용하는 방법에 대한 다양한 예제를 찾아볼 수 있습니다.
| 예제 이름 | 설명 | 언어 |
|---|---|---|
| 토큰 생성 | 토큰을 생성하고 Metaplex 메타데이터를 추가하는 방법. | Anchor, Native |
| NFT 민터 | 토큰을 하나만 민팅한 후 민트 권한을 제거하는 방법. | Anchor, Native |
| PDA 민트 권한 | 민트의 민트 권한을 변경하여 프로그램 내에서 토큰을 민팅하는 방법. | Anchor, Native |
| SPL Token 민터 | associated token account를 사용하여 token account를 추적하는 방법. | Anchor, Native |
| 토큰 스왑 | SPL 토큰을 위한 AMM(자동화된 시장 조성자) 풀을 구축하는 방법을 보여주는 심화 예제. | Anchor |
| 토큰 전송 | Token Program으로의 CPI를 사용하여 SPL 토큰을 전송하는 방법. | Anchor, Native |
| Token-2022 | Token 2022(Token Extensions) 참조. | Anchor, Native |
Token Extensions (Token 2022)
Token 2022는 Solana의 새로운 토큰 표준입니다. 더욱 유연한 구조를 갖추고 있으며, 토큰 민트에 16가지 다양한 Token Extensions을 추가하여 기능을 확장할 수 있습니다. 전체 확장 목록은 시작하기 가이드에서 확인할 수 있습니다.
| 예제 이름 | 설명 | 언어 |
|---|---|---|
| 기본 | 토큰을 생성하고 민팅하며 전송하는 방법. | Anchor |
| 기본 계정 상태 | 이 확장 기능을 사용하면 특정 상태(예: 동결 상태)로 token account를 생성할 수 있습니다. | Anchor, Native |
| 민트 종료 권한 | 기존 Token Program에서는 민트를 종료할 수 없었지만, 이제는 가능합니다. | Anchor, Native |
| 다중 확장 | 단일 민트에 여러 Token Extensions을 추가하는 방법. | Native |
| NFT 메타데이터 포인터 | 메타데이터 확장을 사용하여 NFT를 생성하고 동적 온체인 메타데이터를 추가하는 방법. | Anchor |
| 전송 불가 | 업적, 추천 프로그램 또는 소울바운드 토큰 등에 유용합니다. | Anchor, Native |
| 전송 수수료 | 토큰을 전송할 때마다 일부 토큰이 token account에 보류되며, 이후 수집할 수 있습니다. | Anchor, Native |
| Transfer Hook | Token Program에서 프로그램으로의 CPI를 활용하여 토큰에 추가 기능을 부여하는 4가지 예제. | Anchor |
에코시스템 Solana 프로그램 예제
서드파티는 종종 자체적인 Solana 프로그램 예제 라이브러리를 유지 관리합니다. 이러한 라이브러리는 Solana Foundation이 아닌 각 제공업체가 유지 관리합니다.
- Quicknode의 Solana 프로그램 예제 는 최신 Anchor 버전과 Quasar 프레임워크 모두를 위한 금융 소프트웨어 등 추가적인 프로그램을 제공합니다.
Is this page helpful?