せやねん!今日は Solana の SPL(Solana Program Library) Token について関西弁で解説していくわ!難しそうに聞こえるかもしれへんけど、めっちゃわかりやすく説明するさかい安心してな!
駆け出しエンジニアの頃、ゆめたろうさんの解説記事をよく参考にしていました。
本記事は Qiita の伝統にのっとり、Solana の基本概念について関西弁で解説するシリーズです。
SPL Token って何やねん?
SPL Token っちゅうんは、簡単に言うたら Solana 上で動く独自のお金や資産 みたいなもんや!ETH 上の ERC-20 トークンみたいなもんやで。
例えばな、USDC(ドルと連動したステーブルコイン)とかは、Solana 上では SPL Token として存在しとるんや。
SPL Token の基本構造
SPL Token の仕組みは 3 つの重要な部品からできてるねん:
-
トークンプログラム - これがトークンの命令(インストラクション)を全部管理してる本体や!「誰かにトークン送れ」とか「新しいトークン作れ」みたいな指示を処理するプログラムやねん。
-
ミントアカウント - これが「どんなトークンか」を表すアカウントや。例えば、「このトークンの総供給量は何枚や」とか「小数点以下何桁まで分割できるか」みたいな情報が入ってる。要するにトークンの設計図みたいなもんやな!
-
トークンアカウント - これが「誰がどれだけのトークンを持ってるか」を記録するアカウントや。ユーザーごとに、トークンの種類ごとに別々のトークンアカウントが必要やねん。
例えでわかりやすく言うたろか?
例えば、ミントアカウントは「円」という通貨そのものを表してて、トークンアカウントは「あんたの財布に 1000 円入ってる」という状態を表すねん。
トークンプログラムは銀行みたいなもんで、「A さんの財布から B さんの財布に 500 円送りや」みたいな操作を処理してくれるわけや!
関連トークンアカウントってなんやねん?
ちょっと複雑に聞こえるかもしれんけど、簡単なんよ。「関連トークンアカウント」は、あるウォレットアドレスと特定のトークンの組み合わせから決まった方法で導き出されるアドレスのことやねん。
これがあるから、例えば USDC を送りたいときに、いちいち「相手の USDC 用のアドレスどこ?」って聞く必要がないねん。相手のウォレットアドレスさえわかれば、自動的にその USDC 用のトークンアカウントがわかるわけや!めっちゃ便利やろ?
トークンの作り方
SPL Token を作るのは意外と簡単やで!
- まずミントアカウントを作る(これがトークンの「種類」を表すねん)
- そのトークンを保存するためのトークンアカウントを作る
- トークンプログラムに**「ミントして」**って命令を出して、トークンを生み出す
たったこれだけや!
Solana のトークンプログラムは 2 種類あるねん
最近では、元祖のトークンプログラムと、新しい機能が追加された**トークン拡張プログラム(Token2022)**の 2 種類があるねん。
新しい Token2022 の方がええ機能たくさんあるから、新しくトークン作るなら、こっちを使った方がええで!例えば、トークンに名前やシンボル、画像 URL なんかのメタデータをくっつけられるようになったんや!
まとめ
SPL Token は、Solana 上で価値やセキュリティを持つデジタル資産を作るための仕組みやねん。ミントアカウントが「どんなトークンか」を定義して、トークンアカウントが「誰がどれだけ持ってるか」を記録する。そして、トークンプログラムがこれらを操作する命令を処理するってわけや!
めっちゃシンプルやろ?これでマッチョな Solana トークンの知識が身についたで!何か質問あったら、どんどん聞いてな!
【ARM3rd とは】
ARM3rd はグローバル L1/L2 の開発支援、App Chain 企画、キラーアプリケーション創出に特化した、Web3・AI のプロフェッショナルファームです。Arweave や Solana はじめグローバルの Tier 1 プロトコル、および日本のエンタープライズとの卓越した協業実績を有しています。