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を使って新しいアカウントのrentを支払う方法。 | 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)トークン標準を使用しています。ここでは、トークンのミント、転送、バーンの方法や、プログラム内でトークンを操作する方法など、多くのサンプルを確認できます。
| サンプル名 | 説明 | 言語 |
|---|---|---|
| Create Token | トークンを作成し、Metaplexメタデータを追加する方法。 | Anchor, Native |
| NFT Minter | トークンを1つだけミントし、ミント権限を削除する方法。 | Anchor, Native |
| PDA Mint Authority | ミントのミント権限を変更し、プログラム内からトークンをミントする方法。 | Anchor, Native |
| SPL Token Minter | associated token accountを使用してtoken accountを管理する方法の解説。 | Anchor, Native |
| Token Swap | SPLトークン向けのAMM(自動マーケットメーカー)プールを構築する方法を示す詳細なサンプル。 | Anchor |
| Transfer Tokens | token programへのCPIを使用してSPLトークンを転送する方法。 | Anchor, Native |
| Token-2022 | Token 2022(Token extensions)を参照。 | Anchor, Native |
Token Extensions(Token 2022)
Token 2022はSolana上のトークンの新しい標準です。より柔軟性が高く、トークンミントに16種類の異なるToken Extensionsを追加して機能を拡張することができます。拡張機能の完全なリストは入門ガイドをご参照ください。
| サンプル名 | 説明 | 言語 |
|---|---|---|
| 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 | token programからプログラムへのCPIを使用してトークンに追加機能を実装する4つのサンプル。 | Anchor |
エコシステム Solanaプログラムの例
サードパーティは、Solanaプログラムのサンプルライブラリを独自に管理していることがよくあります。これらはSolana Foundationではなく、各プロバイダーによって管理されています。
- QuicknodeのSolanaプログラムサンプル は、新しいAnchorバージョンおよびQuasarフレームワークの両方に対応した、特に金融ソフトウェア向けの追加プログラムを提供しています。
Is this page helpful?