Solana Token Extensions 解説
Web2で送金手数料を徴収するにはミドルウェアが必要ですが、Solanaではシンプルなフラグを使用します。
私は6日間で4つのトークンを作成しました。その過程で、Solanaがアイデンティティ、手数料、および制限をどのように処理するかを学びました。以下にその知見をまとめます。
基本のミント 基本的なトークンは単なるアドレスに過ぎず、名前やシンボルを持ちません。 ウォレットに直接トークンを受け取ることはできません。トークンの種類ごとに、特定のトークンアカウントが必要になります。 ミントを「工場」、トークンアカウントを「バケツ」と考えてください。
メタデータによるアイデンティティ メタデータのないトークンは、単なるランダムな文字列に過ぎません。 オリジナルのToken Programでは、メタデータ用に別途アカウントが必要です。 Token Extensions Program (Token-2022) はこれを変えました。名前、シンボル、URIをミントに直接保存できます。 1つのミントですべてを処理でき、追加のアカウントは必要ありません。
送金手数料
Web2で手数料を徴収するのは困難です。ユーザーによる回避を防ぐためのロジックを構築しなければなりません。
Solanaでは、transfer-fee-basis-points フラグを使用します。
あるトークンに2%の手数料を設定しました。100トークンを送ったところ、受信者が受け取ったのは98トークンだけでした。
プロトコルが自動的に2トークンを差し引いたのです。
手数料のロジックはミント内に組み込まれています。すべての送金がそのルールに従うため、追加のコードは必要ありません。
Soulbound トークン 移動(譲渡)すべきではないトークンもあります。これらは証明書やアイデンティティ・バッジとして利用されます。 Token-2022 プログラムには、譲渡不能(non-transferable)な拡張機能があります。 譲渡不能なトークンを別のウォレットに送ろうとしたところ、ブロックチェーンによって即座に拒否されました。 プロトコルがルールを強制したのです。ミドルウェアや管理者のオーバーライドであっても、これを変更することはできません。 保有者はトークンをバーンすることはできますが、他人に送ることはできません。
まとめ プロトコルは、ユーザーの意図を知ることなくルールを強制します。なぜトランザクションを送るのかは関係ありません。トランザクションがミントのルールに従っているかどうかだけをチェックするのです。
次は、トークンの作成からプログラムの作成へと進みます。
オプションの学習コミュニティ: https://t.me/GyaanSetuAi