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://dev.to/mubaraqabba/transfer-fees-metadata-and-soulbound-tokens-a-tour-of-solana-token-extensions-29b6

オプションの学習コミュニティ: https://t.me/GyaanSetuAi