SPLとは?Solana Program Library(ソラナ・プログラム・ライブラリ)
Learn what the Solana Program Library (SPL) is, how SPL tokens work, and why it's essential to the Solana ecosystem.
Solana Program Library (SPL) とは?これは、トークンの作成、トークンアカウントの管理、およびSolana上の一般的なアプリケーション機能のサポートのための、再利用可能なオンチェーンプログラムと標準のコレクションです。このガイドでは、SPLの意味、Token Programの仕組み、およびSolanaの広範なアカウントアーキテクチャにおけるSPLトークンの位置づけについて解説します。
Solana Program Library (SPL) は、Solana Labsによって維持され、Solanaブロックチェーン上にデプロイされているオープンソースのオンチェーンプログラムのコレクションです。その中で最も有名なプログラムであるToken Programは、Solanaエコシステム全体でデジタルトークンがどのように作成・管理されるかを定義しています。SPLは、Solanaのトークン、DeFiプロトコル、NFTインフラ、およびガバナンスシステムを可能にする技術的基盤です。
SPLは単なるトークン標準以上のものです。トークンの作成やNFTミントから、ガバナンスツールやリキッドステーキングまで、あらゆるものをカバーしています。分散型取引所からNFTマーケットプレイスに至るまで、Solana上で利用する主要なプロトコルのすべてが、SPL由来のプログラムに依存しています。
Solanaブロックチェーンの背後にある中核的なエンジニアリング組織であるSolana Labsが、SPLを開発・維持しています。このライブラリはApache 2.0ライセンスの下で完全にオープンソース化されています。コードのすべての行は github.com/solana-labs/solana-program-library.) で確認できます。
Solana Program Library (SPL) とは?
Ethereumを含むほとんどのブロックチェーンでは、実行可能なオンチェーンロジックはスマートコントラクトと呼ばれます。Solanaでは、同じ概念がオンチェーンプログラム、または単にプログラムと呼ばれます。Solanaプログラムはステートレスであり、内部的にデータを保存しないことを意味します。代わりに、状態はブロックチェーン上の別個のアカウントに保持されます。「スマートコントラクト」と「プログラム」の区別は名称の違いであり、機能的な違いではありません。どちらもトランザクションによってトリガーされたときにロジックを実行します。
プログラムとは何かを理解することで、プログラムライブラリとは何かが解き明かされます。プログラミング言語に標準ライブラリが付属している様子を考えてみてください。たとえばPythonには、一般的なタスクのための構築済み関数の標準ライブラリが含まれているため、開発者はソートアルゴリズムや日付解析ロジックを一から書く必要がありません。SPLも同じように機能します。すべての開発者に独自のトークン標準やガバナンスロジックを書くことを強いるのではなく、SPLは開発者が車輪の再発明をすることなく構築できる、構築済みで監査済み、かつ実戦でテスト済みのオンチェーンプログラムのコレクションを提供します。
Solanaは、速度を重視して構築されたハイパフォーマンスなレイヤー1ブロックチェーンです。Proof of History (PoH) と呼ばれるトランザクションの順序付けに対する独自の仕組みにより、ネットワークは毎秒数千ものトランザクションを処理できます。Solanaは、Proof of Historyを発明したAnatoly Yakovenko氏によって共同設立されました。この高スループット環境こそが、SPLプログラムとのインタラクションを高速かつ安価にしている理由です。Solana自体の仕組みの詳細については、Solana (SOL) の概要をご覧ください。
SOL vs. SPLトークン:違いは何ですか?
SOL vs. SPLトークン:違いは何ですか?
SOLはSPLトークンではありません。
- SOLは、Solanaブロックチェーンプロトコル自体に組み込まれたネイティブ通貨であり、取引手数料の支払いやステーキングに使用されます。
- SPLトークンは、SPL Token Programを使用してSolanaの上に作成されたデジタル資産です。これらが存在するためにはSOLが必要ですが、資産としては別のカテゴリーになります。
SOLはEthereumにおけるETHと同じように機能します。つまり、ネットワーク上に構築されたトークンではなく、ネットワークのネイティブ通貨です。SPLトークンはEthereumのERC-20トークンのように機能します。つまり、ブロックチェーン上で実行されるプログラムによって作成された資産です。SOLとSolanaの関係は、ETHとEthereumの関係と同じであり、SPLトークンとSolanaの関係は、ERC-20トークンとEthereumの関係と同じです。
この2つは関連していますが、明確に異なります。すべてのSPLトークンのトランザクションには、取引手数料を支払うための少額のSOLが必要です。初めてSPLトークンを受け取る際、ウォレットは新しいトークンアカウントを作成する必要があり、これには「アカウント・レント(口座賃料)」と呼ばれる少額のSOLの入金が必要です。これはSolanaの新規ユーザーにとって混乱の原因となりやすい点です。アカウント・レントの仕組みについては、以下のプログラム・ディレクトリのセクションで詳しく説明します。
SPL Token Programとは?
SPL Token Programは、Solanaブロックチェーン上での代替可能(ファンジブル)トークンおよび非代替性(ノンファンジブル)トークンの発行と管理を担うオンチェーンプログラムです。これはSPLコレクション全体の中で最も重要な個別のプログラムです。SPLプログラムは主にRustで記述されています。Rustは、パフォーマンスとメモリ安全性で知られるシステムプログラミング言語です。Token Programこそが、USDC、BONK、RAY、その他数千の資産をSolana上で実現させているものです。
SPLトークンとは?
SPLトークンは、SPL Token Programを使用してSolanaブロックチェーン上で作成および管理されるデジタル資産です。SPLトークンは、SolanaにおけるEthereumのERC-20トークンに相当するもので、Solanaエコシステム全体のステーブルコイン、ガバナンストークン、ミームコイン、NFTの原動力となっています。SPL Token Programは、Solanaのトークン標準として機能し、ブロックチェーン上でトークンがどのように作成・管理されるかを定義するルールセットとなります。
3つの有名なSPLトークンが、Token Programがサポートする資産の幅広さを示しています。Circle社によって発行され、SPLトークンとしてSolana上にデプロイされている米ドルペッグのステーブルコインであるUSDC。SolanaネイティブのミームコインであるBONK。そして分散型取引所RaydiumのガバナンストークンであるRAYです。
Token Programの仕組み:ミント、アカウント、権限
Token Programは、トークンミント、トークンアカウント、ミント権限の3つの主要コンポーネントを通じて動作します。それぞれが、SPLトークンの作成と保持において独自の役割を果たします。
トークンミント: トークンミントは、特定のSPLトークンを定義するオンチェーンの記録です。トークンの出生証明書と中央銀行が合体したものだと考えてください。トークンの総供給量、使用される小数点以下の桁数、および追加作成の権限を誰が持っているかを保存します。すべてのSPLトークンには、正確に1つのトークンミントアドレスが存在します。
トークンアカウント: トークンアカウントは、特定のSPLトークンのユーザーの残高を保持します。ERC-20の残高がトークン自体のスマートコントラクト内に保存されるEthereumとは異なり、Solanaユーザーは、保持するSPLトークンごとに個別のトークンアカウントを持つ必要があります。Solanaウォレットを物理的な財布として想像してください。各トークンアカウントはその中の個別のポケットであり、トークンの種類ごとに1つのポケットがあるようなものです。
ミント権限: 通貨の印刷機を管理する政府を想像してください。Solanaでは、その役割はミント権限に属します。これは、特定のSPLトークンの新しいトークンを作成する許可を持つ暗号鍵またはアカウントです。ミント権限を持つ主体のみがトークン供給量を増やすことができます。供給量が固定されているプロジェクトでは、単一の当事者が供給量を膨らませることができないよう、ミント権限が放棄されるか、プログラムに譲渡されることがよくあります。
これら3つのコンポーネントは順序立てて機能します。新しいSPLトークンが作成されると、トークンミントが確立され、そのパラメータが定義されます。ユーザーがトークンを取得すると、その残高は個別のトークンアカウントに保管されます。ミント権限は、時間の経過とともに新しい供給を追加できるかどうかを制御します。初めてSPLトークンを受け取ると、新しいトークンアカウントが作成され、それにはアカウント・レントと呼ばれる少額のSOLの入金が必要になります。これは次のセクションで扱うAssociated Token Account Programによって管理されます。
Token-2022(トークン・エクステンション・プログラム)とは?
Token-2022とは?(トークン拡張プログラム)
Token-2022は、Token Extensions Programとしても知られ、オリジナルのSPL Token Programの進化系後継者です。オリジナルのToken Programではサポートされていないプログラム可能な機能が追加されています。
- 送金手数料: トークン作成者は、トークンの各送金ごとに徴収される手数料を設定できます。
- 利息付きトークン: トークン残高は、オンチェーンで時間の経過とともに利息を発生させることができます。
- 機密送金: トークン額は、ブロックチェーン上で公開表示から非表示にできます。
- 譲渡不可トークン: トークンは特定のウォレットアドレスに永久に紐づけることができます。
オリジナルのToken ProgramとToken-2022は現在、Solanaメインネットで共存しています。Token-2022は、オリジナルのToken Programの代替ではなく、SPLの機能拡張です。技術的な詳細については、spl.solana.com/token-2022.) を参照してください。
Solana Program Libraryに含まれるプログラムとは?
Solana Program Libraryには、Solanaエコシステム内でそれぞれ異なる目的を持つ、いくつかの独立したオンチェーンプログラムが含まれています。Token Programが最も著名ですが、それだけではありません。すべてのSPLプログラムはRustで記述されており、完全なコードベースはApache 2.0ライセンスの下でオープンソースとして公開されており、github.com/solana-labs/solana-program-library.) で入手できます。
| プログラム名 | 目的 | 主要なユースケース |
|---|---|---|
| Token Program | Solana上で代替可能トークンおよび非代替可能トークンを作成・管理する | USDC、BONK、RAYのようなSPLトークンの発行 |
| Token-2022 (Token Extensions Program) | プログラム可能な機能でToken Programを拡張する | 送金手数料、利息付きトークン、機密送金 |
| Associated Token Account (ATA) Program | トークンアカウントを決定論的に導出し作成する | ユーザーが新しいSPLトークンを受け取ったときにトークンアカウントを自動的に作成する |
| Governance Program | オンチェーン投票および財政管理のためのDAOインフラを提供する | DeFi プロトコルに対するトークン保有者のガバナンスを可能にする |
| Stake Pool Program | 複数のバリデーターにわたる非保管型流動的ステーキングを可能にする | Marinade FinanceやJitoのようなプロトコル |
Associated Token Account (ATA) Programは、Solanaユーザーが遭遇する実用的な問題を解決します。Ethereumでは、ERC-20トークンの残高は各トークン独自のスマートコントラクト内に保存されます。Solanaでは、保有する各SPLトークンに個別のトークンアカウントが必要です。ATA Programは、これらのアカウントを導出し作成するための標準化された決定論的な方法を提供します。ウォレットが特定のトークンに対して初めて新しいトークンアカウントを作成する際、アカウントレントと呼ばれる少額のSOLデポジットが請求されます。これは、そのアカウントをアクティブに保つためのオンチェーンストレージコストをカバーします。Phantomのようなウォレットはこれを自動的に処理します。ウォレットは物理的な財布のようなもので、各トークンアカウントはその中の別々のポケットのようなものです。ATA Programは、これらのポケットをユーザーの代わりに作成・管理します。
Governance Programは、Solana上の分散型自律組織(DAO)のためのインフラを提供します。トークン保有者が提案を作成し、プロトコル決定に投票し、オンチェーンの財政を管理できるようにすることで、DeFi プロトコルやNFT コミュニティに、コミュニティガバナンスのための標準ツールを提供します。
Stake Pool Programは、ネイティブSOLステーキングとは異なるメカニズムである、Solana上の流動的ステーキングを可能にします。ネイティブステーキングは、SOLを単一のバリデーターに委任します。Stake Pool Programは、複数のバリデーターに同時にステークを分散し、その代わりに流動的なSPLトークンを返します。Marinade Finance(mSOLを返す)やJito(JitoSOLを返す)のようなプロトコルはこのプログラム上に構築されています。この流動的トークンは、基盤となるSOLがステーキング報酬を獲得し続ける間、DeFi プロトコル全体で使用できます。
すべてのSPLプログラムの完全なリファレンスについては、公式SPLドキュメント spl.solana.com を参照してください。
SPLトークン vs. ERC-20:比較方法は?
SPLトークンとEthereumのERC-20トークンは同じ標準ではありませんが、同じコア目的を果たします。それは、それぞれのブロックチェーン上で代替可能トークンがどのように機能するかを定義することです。SPLはSolanaのトークン標準であり、ERC-20はEthereumの標準です。デフォルトでは相互運用性がなく、ブリッジインフラストラクチャなしではSPLトークンをEthereumで使用できず、その逆も同様です。
SolanaにとってのSPLトークンは、EthereumにとってのERC-20トークンと同じような存在です。しかし、アーキテクチャの配管は実質的に異なります。
| 属性 | SPL Token Program (Solana) | ERC-20 (Ethereum) |
|---|---|---|
| トークン標準名 | SPL Token Program | ERC-20 |
| 親ブロックチェーン | Solana | Ethereum |
| トークン作成メカニズム | すべてのトークンが1つの共有オンチェーンプログラムを使用 | 各トークンが独自のスマートコントラクトをデプロイ |
| ユーザー残高ストレージ | ユーザーごとにトークンごとに別々のトークンアカウントに保存 | トークン独自のスマートコントラクト内に保存 |
| 代替可能 + NFT サポート | はい:代替可能トークンと、NFT (供給量1、小数点以下0桁)の両方 | 代替可能:ERC-20経由;NFT:別途ERC-721標準が必要 |
| 通常のトランザクション速度 | 毎秒数千トランザクション | 約15~30トランザクション/秒(ベースレイヤー) |
| 通常のトランザクションコスト | 数セント未満 | 変動的;ネットワーク混雑時には数ドルに達することもある |
主要なアーキテクチャ上の違い:Ethereum上の各ERC-20トークンは、独自のスマートコントラクト、つまり独自の埋め込みルールとロジックを持つカスタムファクトリーを持っています。Solana上のすべてのSPLトークンは、単一のToken Program、つまりすべてのトークンが使用する標準化された単一のファクトリーを共有しています。この共有アーキテクチャにより、SPLトークンの作成とトランザクションがより高速で低コストになります。
ERC-20は単一のトークン標準ですが、Solana Program Libraryはより広範なプログラムのコレクションです。Token Programはその中でも最も著名なメンバーですが、SPLにはGovernance Program、Stake Pool Programなども含まれており、これらには直接的なERC-20の同等物がありません。
SPLトークンで何ができるか?ユースケースと実例
SPLトークンはSolanaエコシステムを支えるアセットです。RaydiumやOrcaのようなDeFi プロトコルを介して流れ、MetaplexでミントされたNFTを表し、USDCのようなステーブルコインの基盤を形成します。すべてのSPLトークン取引には少量のSOL手数料が必要であり、これはSPLエコシステムの活動がSolanaネットワークの使用率に直接結びついていることを意味します。
SPLトークンとDeFi:取引と利回り
SPLトークンは、Solanaの分散型金融(DeFi)エコシステム、つまりユーザーが中央集権的な仲介者を介さずに取引し利回りを得るプロトコルを流れるアセットです。
Solanaの分散型取引所(DEX)では、SPLトークンが交換されるアセットです。Raydiumは、SPLトークンを交換し、流動性プールに供給し、保有資産で利回りを得ることができる自動マーケットメイカー(AMM)DEXです。Orcaは、アクセスしやすいトークン交換に焦点を当てた、Solana上のユーザーフレンドリーなDEXです。取引以外にも、MarginFiのようなレンディングプロトコルはSPLトークンを担保として受け入れ、ユーザーが保有資産を担保に借入できるようにします。これらのプラットフォーム全体にわたる流動性プールは、すべてSPLトークンによって資金提供されています。
SolanaのDeFiランドスケープの全容を、Solana上のDeFiに関するガイドで探求してください。
SPLトークンとSolana NFT
Solana上のほぼすべてのNFTはSPLトークンです。それぞれが供給量1、小数点以下0桁で作成され、ユニークで複製不可能になっています。この技術的な定義が、SPLフレームワーク内でSolana NFTに非代替可能プロパティを与えています。
Metaplexは、Solanaで広く使用されているNFT プロトコルです。SPL Token Programを基盤とし、NFT 特有のメタデータ、所有権記録、ロイヤルティ強制を扱います。Solanaでミントされた多くのNFTは、SPL Token標準とMetaplexツールを使用して、そのトークンが何を表すかを定義しています。
SolanaのNFTエコシステムについてさらに詳しく知るには、Solana上のNFTに関するガイドを参照してください。
実世界のSPLトークン例
SPL Token Programを使用してSolana上で作成されたトークンはすべてSPLトークンです。これには、あらゆるカテゴリーの数千もの資産が含まれます。はい、Solana上のUSDCはSPLトークンです。USDCの運営会社であるCircle社は、SPL Token Programを使用してSolana上にこのステーブルコインをデプロイしました。これにより、USDCはエコシステムで広く使用されるSPL資産となっています。有名なSPLトークンは、主要な暗号資産取引所に上場され、取引されています。
- USDC (ステーブルコイン): Circle社によって発行された米ドルペッグのステーブルコイン。SPLトークンとしてSolana上にデプロイされており、Solanaエコシステムで最も流動性の高い資産の一つです。
- BONK (ミームコイン): SPLトークンとして作成されたSolanaネイティブのミームコインで、Solanaユーザーへのコミュニティエアドロップとして開始されました。
- RAY (DEX ガバナンストークン): Raydiumのガバナンストークン。SPLトークンとして作成され、保有者はプロトコルの決定に関する投票に使用します。
- mSOL (リキッドステーキングトークン): Marinade Financeのリキッドステーキングトークン。ユーザーはMarinadeプロトコルを通じてSOLをステーキングすると、SPLトークンとしてmSOLを受け取ります。
SPLトークンをサポートしているウォレットは?
Solanaに対応したウォレットであれば、どれでもSPLトークンをサポートしています。ウォレットはバックグラウンドでトークンアカウントの作成を自動的に処理するため、ユーザーが直接Token Programを操作する必要はありません。
SPLトークンをサポートする互換性のあるウォレットには以下が含まれます:
- Phantom: 広く使用されているSolanaウォレットで、SPLトークンの残高を自動的に表示し、関連するすべてのトークンアカウントを管理します。
- Solflare: ステーキング機能やDeFiの統合機能が組み込まれた、Solanaに特化したウォレットです。
- Backpack: SolanaおよびSPLトークンをネイティブサポートするマルチチェーンウォレットです。
- Ledger (Solanaアプリ使用): SPLトークンの保有資産に対してオフラインでのキー保管を希望するユーザー向けのハードウェアウォレットの選択肢です。
Phantomのようなウォレットは、トークンアカウントの作成やアカウントのレント(賃貸)の仕組みを自動的に処理します。SPLトークンを入金すると、ウォレットがその保管場所を管理します。
関連するSolanaアーキテクチャのリソース
トークンアカウントはSolanaアカウントモデルに依存しており、トランザクションの実行はSolanaが高速で安価な理由で説明されているアーキテクチャも反映しています。ネイティブ資産を追跡している読者は、SOL価格ページまたはSOL/USDT現物市場.を確認できます。これらの市場ページは、オンチェーンでのSPLトークンの仕組みを変えるものではありません。
FAQ:Solana Program Library (SPL)とは?
Solana Program Libraryとは何ですか?
Solana Program Library (SPL)は、Solana Labsによって維持され、Solanaブロックチェーン上にデプロイされたオンチェーンプログラムのオープンソースコレクションです。主にRustで記述されており、SPLにはToken Program、Token-2022、Associated Token Account Program、Governance Program、およびStake Pool Programが含まれます。Token Programはその中で最も広く使用されているコンポーネントです。
SPLトークンとは何ですか?
SPLトークンは、Solana上のSPL Token Programを使用して作成されたデジタル資産です。SPLトークンは、イーサリアムのERC-20トークンに相当するSolanaの規格です。Solana上に構築されたファンジブルトークン、ステーブルコイン、ガバナンストークン、またはミームコインはすべてSPLトークンです。よく知られている例としては、ドルペッグのステーブルコインであるUSDCや、SolanaネイティブのミームコインであるBONKがあります。
SOLはSPLトークンですか?
いいえ。SOLはSolanaのネイティブ通貨です。これはブロックチェーンプロトコル自体に組み込まれており、SPL Token Programを使用して作成されたものではありません。SPLトークンは、Token Programを使用してSolanaの上に構築された個別のデジタル資産です。SOLはSPLトークンの操作のためのトランザクション手数料の支払いに使用されますが、SOL自体はSPLトークンではありません。
Solana Program Libraryにはどのようなプログラムがありますか?
SPLには、Solanaエコシステム内でそれぞれ異なる目的を果たすいくつかのプログラムが含まれています。主なプログラムは、Token Program、Token-2022 (Token Extensions Program)、Associated Token Account Program、Governance Program、Stake Pool Program、およびMemo Programです。それぞれがSolanaのオンチェーンインフラストラクチャの異なるレイヤーを対象としています。
Solana Program Libraryはオープンソースですか?
はい。Solana Program Libraryは完全にオープンソースであり、Apache 2.0ライセンスの下でライセンスされています。完全なコードベースはgithub.com/solana-labs/solana-program-libraryで公開されています。開発者はライブラリ内の任意のプログラムを検査したりフォークしたりすることができます。
SPL Token Programはどのように機能しますか?
SPL Token Programは3つのコンポーネントを通じて動作します。Token Mintは、トークンの供給量、小数点以下の桁数、および誰が追加発行できるかといったトークンの定義を行います。Token Accountsは個々のユーザーの残高を保持し、ユーザーごと、トークンタイプごとに1つのアカウントが作成されます。Mint Authorityは、トークン供給量を増やせる権限を制御します。PhantomのようなSolanaウォレットを使用する場合、これらのコンポーネントはバックグラウンドで見えない形で動作します。
USDCはSPLトークンですか?
はい。Solana上のUSDCは、SPL Token Programを使用したSPLトークンとしてデプロイされています。USDCを発行するCircle社は、Token Programを通じてSolana版のUSDCを作成しました。これにより、USDCはSolanaエコシステム全体で最も広く保有され、取引されているSPLトークンの一つとなっています。
SPLトークンをサポートしているウォレットはどれですか?
Solanaに対応したウォレットであれば、ウォレットがユーザーの操作なしで自動的にトークンアカウントを管理するため、すべてSPLトークンをサポートしています。SPLトークンをサポートするウォレットには、Phantom、Solflare、Backpack、およびSolanaアプリがインストールされたLedgerが含まれます。Phantomは、日常的なSPLトークンの管理に広く使用されている選択肢です。
なぜSolana Program Libraryが重要なのか
Solana Program Libraryは、Solanaエコシステムを機能させるインフラレイヤーです。これがなければ、トークン作成の標準も、共有のガバナンスツールも、リキッドステーキングのインフラも存在しません。ウォレットに保有しているすべてのSPLトークン、Solanaで発行されたすべてのNFT、ブロックチェーン上で稼働しているすべてのDeFiプロトコルは、SPLが提供するプログラムに依存しています。
すべてのSPLトークンのトランザクションは手数料として少量のSOLを消費するため、SPL活動の広がりはSolanaブロックチェーンがどれだけ使用されているかを直接反映します。繁栄しているSPLエコシステムは、DeFiプロトコル、NFTプラットフォーム、およびガバナンスシステム全体で一貫したオンチェーンアクティビティを生み出します。
これらのプログラムを使用して構築しようとしている開発者の方は、Solana CLIと利用可能なフレームワークを使用したステップを説明している「SPLトークンの作成方法」ガイドをご覧ください。SPLプログラムに関するより深い技術リファレンスについては、spl.solana.comの公式SPLドキュメントが正式な情報源です。SOLを保有しているか、DEXでSPLトークンを取引しているか、あるいはSolana NFTを収集しているかにかかわらず、SPLを理解することで、Solanaブロックチェーンがその基盤でどのように動作しているかをより明確に把握できます。
関連トピック
-トークン化とは?デジタル資産の解説