FA2(Tezos): TezosのFA2とは?FA2は、Tezosブロックチェーン上のスマートコントラクト向けに統一されたトークン標準です。ウォレット、分散型アプリケーション、ブロックチェーンエクスプローラー、マーケットプレイス、ゲーム、その他の暗号資産ツールがTezosトークンを扱う際に利用できる共通インターフェースを定めています。FA2は、Tezos改善提案12(TZIP-12)で正式に仕様化されています。この標準FA2(Tezos): TezosのFA2とは?FA2は、Tezosブロックチェーン上のスマートコントラクト向けに統一されたトークン標準です。ウォレット、分散型アプリケーション、ブロックチェーンエクスプローラー、マーケットプレイス、ゲーム、その他の暗号資産ツールがTezosトークンを扱う際に利用できる共通インターフェースを定めています。FA2は、Tezos改善提案12(TZIP-12)で正式に仕様化されています。この標準
TezosのFA2とは?
FA2は、Tezosブロックチェーン上のスマートコントラクト向けに統一されたトークン標準です。ウォレット、分散型アプリケーション、ブロックチェーンエクスプローラー、マーケットプレイス、ゲーム、その他の暗号資産ツールがTezosトークンを扱う際に利用できる共通インターフェースを定めています。FA2は、Tezos改善提案12(TZIP-12)で正式に仕様化されています。
この標準は、代替可能トークン、非代替性トークン、譲渡不可の資産、複数のトークンタイプを同時に管理するコントラクトに対応できます。この柔軟性により、1つのFA2コントラクトで単一の暗号資産、NFTコレクション、複数のゲーム内資産、または異なるトークンモデルの組み合わせを管理できます。FA2は、トークンの経済的価値、法的地位、供給量、用途を定めるものではありません。その代わりに、トークンの転送、残高の照会、オペレーターの承認など、重要な技術的操作を標準化します。Tezosのネイティブ資産であるtezとは異なり、FA2トークンはユーザーのTezosアカウント内に直接保存されるわけではありません。FA2スマートコントラクトは、各トークンまたはトークン残高をどのアカウントが保有しているかを記録する台帳を管理します。Tezos公式FA2ドキュメントでは、FA2は既存アプリケーションとの互換性を維持しながら、カスタムのトークン動作を可能にする柔軟な標準と説明されています。
FA2の「FA」は何を意味しますか?
FAはFinancial Applicationの略です。この名称は、Tezos上の金融資産やトークン化アプリケーションに再利用可能なインターフェースを定めるという標準の役割を表しています。FA2は、以前のFA1.2トークンインターフェースより新しく、柔軟性に優れています。「2」は標準のファミリーを示すもので、発行者が個別に選択するトークンのバージョンではありません。トークン名やメタデータに「FA2」と追加しただけで、プロジェクトがFA2に対応するわけではありません。スマートコントラクトが、必須のTZIP-12インターフェースと動作を実装する必要があります。Tezosにトークン標準が必要な理由
ブロックチェーンでは開発者がさまざまなスマートコントラクトを記述できますが、トークンインターフェースが完全に異なると、統合が困難になります。各コントラクトで転送機能や残高照会機能が異なる場合、ウォレットはトークンコントラクトごとに専用コードを用意する必要があります。マーケットプレイスも、NFTコレクションごとに異なる承認手順を理解しなければなりません。FA2は予測可能なエントリーポイントとデータ構造を提供し、こうした統合の問題を軽減します。互換性のあるウォレットは、内部ストレージの詳細をすべて把握していなくても、残高の照会方法や転送の準備方法を認識できます。互換性のあるマーケットプレイスは、標準化された手順でオペレーターの権限を要求できます。ブロックチェーンエクスプローラーやインデクサーは、トークンの移動を特定し、コントラクトアドレスとトークンIDごとに残高を整理できます。標準化によって相互運用性は向上しますが、そのインターフェースを使用するすべてのコントラクトの安全性や誠実性が保証されるわけではありません。Tezosのトークンドキュメントでは、誰でもトークンコントラクトを作成し、有害または制限的な動作を定義できると警告しています。
FA2トークンの仕組み
FA2トークンは、Tezos上でデプロイされたスマートコントラクトによって管理されます。コントラクトは、トークンの所有権または残高を表す台帳を保存します。代替可能トークンの場合、台帳は通常、アカウントとトークンIDを数量に対応付けます。NFTの場合、台帳は固有のトークンIDを所有者に対応付けるか、所有者の残高を1として記録します。転送が行われると、FA2コントラクトは送信者の権限と利用可能な残高を確認します。次にコントラクトは、送信元アカウントからトークンを差し引き、送信先アカウントに加算します。転送を受け付ける前に、スマートコントラクトが独自の制限を適用することもできます。たとえば、所有者による転送のみを許可する、承認済みオペレーターに対応する、転送を一時停止する、または転送を全面的に禁止するトークンもあります。有効な状態変更はすべてTezos上に記録され、互換性のあるブロックチェーンツールで確認できます。FA2トークンの識別方法
FA2トークンは、スマートコントラクトアドレスとトークンIDの組み合わせによって一意に識別されます。トークンIDは、コントラクトが割り当てる0以上の整数です。異なるFA2コントラクトに属する場合は、コントラクトアドレスで区別されるため、同じトークンIDを持つトークンが存在することがあります。したがって、トークンID 0とのみ記載されたトークンは、一意に特定されていません。ユーザーはコントラクトアドレスも確認する必要があります。FA2コントラクトが1種類のトークンのみをサポートする場合、標準上、トークンIDは0でなければなりません。複数のトークンタイプを管理するコントラクトでは、それぞれの資産に異なるトークンIDを割り当てられます。SmartPyのFA2概要では、コントラクトアドレスとトークンIDの組み合わせが、オンチェーンの完全なトークン識別子であると確認されています。
FA2が対応できるトークンの種類
代替可能トークン
代替可能トークンは、コントラクト内で同じ特性と価値を持つ、相互に置き換え可能な単位で構成されます。通常、同じトークンの1単位を別の1単位と交換しても、保有者の経済的な立場は変わりません。FA2の代替可能トークンは、決済資産、ガバナンス単位、ロイヤルティポイント、価値連動型資産、ラップド資産、その他の分割可能な暗号資産を表すことができます。メタデータのdecimalsフィールドは、ウォレットが小数点をどこに表示するかを示しますが、残高は整数の自然数単位で保存されます。非代替性トークン
FA2 NFTは、固有のトークンIDで識別される個別のトークンです。デジタルアート、ゲームアイテム、会員資格、証明書、イベント参加権、現実世界の記録などに関連付けられる場合があります。メタデータには、NFTに関連するメディア、作成者、属性、その他の情報を記載できます。NFTを保有しても、著作権、知的財産権、オフチェーンの対象物に対する法的所有権が自動的に移転するわけではありません。こうした権利は、発行者の規約と適用法令によって異なります。マルチアセットコントラクト
1つのFA2コントラクトで、多数の異なるトークンIDを管理できます。ゲームでは、通貨、武器、土地アイテム、キャラクター資産、コレクション可能な報酬を1つのコントラクトで管理できます。NFTプロジェクトでは、1つのコントラクトでコレクション全体を管理できます。金融アプリケーションでは、1つのインターフェースの下で複数の関連する代替可能資産を発行できます。1つのコントラクトを使うことで、バッチ処理を簡素化し、アプリケーションが統合すべき個別コントラクトの数を減らせる場合があります。ハイブリッド型トークンコントラクト
1つの実装内で、異なるトークンの動作を組み合わせることができます。たとえば、あるトークンIDが代替可能資産を表し、他のIDが固有のNFTを表す場合があります。プロジェクトは、明確に定めたポリシーの下で、譲渡可能な資産と譲渡不可の資産を組み合わせることもできます。同じFA2コントラクト内のすべてのトークンIDで、供給量、小数桁数、転送ルール、メタデータが同じだと想定してはいけません。譲渡不可トークン
FA2では、発行後に自由に譲渡できない資産にも対応できます。こうしたトークンは、資格、バッジ、レピュテーション、ライセンス、特定のアカウントに紐づく記録などを表す場合があります。コントラクトのポリシーで転送が禁止されている場合、転送の試みは標準のFA2トランザクション拒否エラーで失敗することがあります。ウォレットに残高が表示されても、資産を売却または移動できるとは限らないため、取得前に転送ルールを確認してください。FA2で必須となるエントリーポイント
FA2互換コントラクトには、transfer、balance_of、update_operatorsという3つの標準エントリーポイントが必要です。これらのエントリーポイントが、外部アプリケーションが利用する共通インターフェースを形成します。開発者は他のエントリーポイントを追加できますが、追加機能によって必須インターフェースが置き換わることはありません。SmartPyのFA2エントリーポイントに関するドキュメントでは、これらの操作のパラメーターと想定される動作について説明しています。
Transferエントリーポイント
transferエントリーポイントは、1つのアカウントから1つ以上の送信先アカウントへトークンを移動します。各転送項目では、送信元アドレス、送信先アドレス、トークンID、数量を指定します。1回の呼び出しを単一の転送に限定せず、バッチで処理します。1つのバッチに、異なるアカウントやトークンIDに関する複数の転送を含められます。コントラクトは、参照された各トークンが存在することを確認します。さらに、送信元に十分なトークンがあり、呼び出し元に転送権限があることも確認します。必要な条件が満たされない場合、トランザクションは失敗します。Balance_ofエントリーポイント
balance_ofエントリーポイントは、1つ以上のアカウントとトークンIDの組み合わせについて残高を要求します。コールバックコントラクトを使って、要求された残高情報を受け取ります。このコールバック方式により、別のスマートコントラクトが残高を要求し、Tezosの内部オペレーションを通じて結果を受け取れます。適切な場合、オフチェーンアプリケーションもインデクサーや標準化されたビューを利用できます。残高の照会には、所有者のアドレスとトークンIDの両方が必要です。1つのコントラクトで複数のトークンタイプを管理している場合、アカウントアドレスだけでは不十分です。Update_operatorsエントリーポイント
update_operatorsエントリーポイントでは、トークン所有者が承認済みオペレーターを追加または削除できます。各承認では、所有者、オペレーター、トークンIDを指定します。通常、所有者のトークンに対するオペレーター権限を変更できるのは、そのトークンの所有者だけです。転送ポリシーがオペレーターに対応していない場合、コントラクトはオペレーターの更新を拒否することがあります。マーケットプレイス、ゲーム、アプリケーションが権限を必要としなくなった場合は、オペレーター権限を削除してください。バッチ転送とは?
バッチ転送では、transferエントリーポイントの1回の呼び出しに複数のトークン移動を含めることができます。1回のバッチで、同じトークンタイプを複数の受取人に送信できます。同じコントラクトが管理する複数のトークンIDを転送することもできます。ウォレットでの確認操作やコントラクト呼び出しを繰り返す回数を減らせる場合があります。ゲーム、NFTコレクション、財務資産の配布、多種類の資産を管理するアプリケーションで特に有用です。Tezosのオペレーション全体にはアトミック実行ルールが適用されます。呼び出し内の必須転送が失敗した場合、関連するコントラクト実行によって一部だけ処理された状態が残ることはありません。ただし、大きなバッチでは計算とストレージ処理の負荷が増えるため、アプリケーションはバッチサイズを制限する必要があります。FA2オペレーターとは?
オペレーターとは、所有者に代わって特定のトークンタイプを転送する権限を付与されたアカウントまたはスマートコントラクトです。ユーザーは、買い手がオファーを受け入れた後にマーケットプレイスが販売を完了できるよう、オペレーターとしてマーケットプレイスを承認する場合があります。オペレーター権限は、所有者、オペレーターアドレス、トークンIDの組み合わせに紐づきます。この承認は、所有者のウォレット内にあるすべてのトークンに自動的に適用されるわけではありません。ただし、指定されたトークンIDについては、標準のオペレーターモデル上、オペレーターは通常、所有者が保有する任意の数量を転送できます。この権限は、転送ごとに減少する数量限定の許可ではありません。これによりオペレーター承認は便利になる一方、承認したアプリケーションが悪意あるもの、または侵害されたものである場合にリスクが生じます。コントラクトのポリシーが対応していれば、所有者はupdate_operatorsエントリーポイントを通じてオペレーターを削除できます。FA2の転送ポリシーの仕組み
FA2では、共通の転送インターフェースを維持しながら、コントラクトごとに異なる権限ポリシーを定義できます。転送がサポートされているか、オペレーターが許可されているかを標準で表現できます。SmartPyの転送ポリシーに関するドキュメントでは、FA2実装で一般的なポリシーモデルを紹介しています。
転送不可ポリシー
転送不可ポリシーでは、トークン保有者とオペレーターの両方が対象トークンを転送できません。このモデルは、資格、身分証明記録、バッジ、その他のアカウントに紐づく資産に利用できます。所有者による転送ポリシー
所有者による転送ポリシーでは、所有者自身によるトークン移動は許可されますが、オペレーターには対応しません。オペレーター承認に依存するマーケットプレイスでは、こうしたトークンを取り扱えない場合があります。所有者またはオペレーターによる転送ポリシー
このポリシーでは、トークン所有者または承認済みオペレーターがトークンを転送できます。取引可能なトークンやNFTで一般的なモデルです。一時停止可能な転送
カスタムのFA2実装では、管理者が転送とオペレーターの操作を一時停止できる場合があります。セキュリティインシデントへの対応に役立つことがあります。同時に、保有者が資産を移動できるかどうかについて、管理者に大きな権限を与えることになります。ユーザーは一時停止権限の有無、管理者、権限を取り消せるかどうかを確認してください。FA2ではミントが必須ですか?
いいえ。FA2ではミント用エントリーポイントは必須ではありません。コントラクトのデプロイ時にすべてのトークンを初期化し、追加発行の手段を設けないこともできます。別の実装では、管理者が制御するミント機能を含めることができます。ゲームでは、プレイヤーが特定の操作を完了した際に新しいアイテムをミントする場合があります。NFTコントラクトでは、新しいコレクションアイテムごとに新しいトークンIDをミントすることがあります。Tezosのミントとバーンに関するチュートリアルでは、コントラクトライブラリを使ったオプション機能の追加方法が説明されています。
FA2が固定の最大供給量を定めていると想定せず、実際のミント権限を確認してください。FA2ではバーンが必須ですか?
いいえ。バーン用エントリーポイントも任意です。バーンは、コントラクトの会計ルールに従ってトークン単位を永久に取り除く処理です。ユーザー自身がトークンをバーンできるコントラクトもあります。別のコントラクトではバーンを管理者のみに制限したり、バーン機能自体を設けなかったりする場合があります。バーン権限は、供給量、償還、ゲームの仕組み、トークン経済に影響します。バーン機能が存在しても、ミント量がバーン量を上回る可能性があるため、資産がデフレになるとは限りません。FA2トークンのメタデータの仕組み
トークンメタデータは、特定のトークンIDに関連する情報を記述します。一般的な項目には、トークン名、シンボル、小数桁数、説明、メディアへのリンクがあります。FA2トークンメタデータのドキュメントでは、各トークンIDがそれぞれ独自のメタデータオブジェクトに紐づくと説明されています。
メタデータはコントラクト内に直接保存することも、外部URIで参照することもできます。NFTメタデータは、コントラクトから参照されるJSONドキュメントに保存されることがよくあります。こうしたドキュメントやメディアファイルのコンテンツアドレス指定型ストレージには、InterPlanetary File Systemがよく使われます。外部メタデータへのリンクがあっても、リンク先の情報が永久に利用できるとは限りません。データが消失するリスクを減らすため、ファイルをピン留めし、バックアップを作成してください。標準的なメタデータ項目
nameフィールドは、トークンの表示名を指定します。symbolフィールドは、ウォレットやアプリケーションで使用される短い識別子を指定します。decimalsフィールドは、代替可能トークンの残高をインターフェース上でどのように表示するかを示します。空のメタデータキーから、追加情報を含む外部JSONドキュメントを参照できます。カスタムフィールドには、アートワーク、属性、作成者、ライセンス条件、アプリケーション固有のデータなどを記載できます。ウォレットが未知のカスタムフィールドを無視する場合があります。メタデータは表示を改善しますが、実際のコントラクト台帳や転送ロジックに優先するものではありません。関連のないコントラクトが発行したトークンでも、よく知られた名前やシンボルを表示できます。信頼できる技術的識別子は、引き続きコントラクトアドレスとトークンIDです。トークンメタデータとコントラクトメタデータ
トークンメタデータは、個々のトークンIDについて説明します。コントラクトメタデータは、FA2スマートコントラクト自体について説明します。コントラクトメタデータには、コントラクト名、バージョン、作成者、インターフェース、ソース情報、利用可能なビューなどを記載できます。TZIP-16のコントラクトメタデータは、オンチェーンまたは外部URIを通じてこうした情報を公開するための標準的な構造を定めています。
マルチアセットコントラクトでは、1つのコントラクトメタデータ文書と、複数の個別トークンメタデータオブジェクトを持つことができます。アプリケーションは、コントラクトの表示名と、そのコントラクトが管理するすべてのトークンの名称を混同してはいけません。Decimalsフィールドの意味
decimalsフィールドは、アプリケーションがトークンの整数残高をどのように表示するかを定めます。コントラクトに記録された生の残高が1,000,000で、トークンの小数桁数が6だとします。ウォレットでは、その数量は1.000000トークンと表示されます。コントラクトが保存するのは浮動小数点数ではなく、整数の自然数による残高です。NFTは通常、各単位が分割できないため小数桁数を0にします。小数桁数の設定が誤っていると、ウォレットに誤解を招く数量が表示される場合があります。小数桁数は、トークンの市場価格や最大供給量を決めるものではありません。FA2とtezの違い
tezはTezosブロックチェーンのネイティブ暗号資産です。FA2トークンは、スマートコントラクトが管理する資産です。tezの残高はプロトコルのアカウント会計の一部ですが、FA2残高はトークンコントラクトのストレージ内の記録です。FA2トークンを転送する場合でも、ネットワーク手数料はtezで支払います。FA2トークンを保有していても、オンチェーントランザクションの手数料を支払うのに十分なtezが自動的に得られるわけではありません。そのため、価値のあるトークン残高がウォレットに表示されていても、手数料やストレージコストを支払うのに十分なtezをアカウントが受け取るまでは、トークンを移動できない場合があります。FA2とFA1.2の違い
FA1.2は、代替可能トークン向けに設計された、Tezosの以前のトークンインターフェースです。FA2は、代替可能トークン、NFT、譲渡不可トークン、マルチアセットコントラクトなど、より幅広い資産に対応します。FA2はトークンIDとバッチ処理を前提とした操作も採用しています。承認済みFA2オペレーターは、通常、指定されたトークンIDについて所有者の利用可能残高を転送できます。このため、オペレーターモデルは数量限定の許可モデルと異なります。FA1.2トークンが自動的にFA2トークンになるわけではありません。発行者が標準を変更する場合は、意図的なコントラクトと資産の移行手続きが必要です。Tezosでは両方の標準が引き続き利用される場合があります。FA2とNFTの違い
FA2はトークンインターフェースであり、NFTは非代替性資産の種類を表します。Tezos上のNFTは、FA2互換コントラクトで実装できます。ただし、すべてのFA2トークンがNFTであるとは限りません。同じ標準で、通常の代替可能残高や、その他多くのトークンモデルを管理できます。資産をFA2と呼ぶことで技術的なインターフェースは説明できますが、経済的な特性をすべて説明できるわけではありません。FA2とマルチアセットコントラクトの違い
FA2はマルチアセットコントラクトに対応しますが、FA2コントラクトに複数のトークンタイプを含める必要はありません。単一トークンの代替可能トークンコントラクトもFA2に準拠できます。単一のNFTコレクションを管理するコントラクトもFA2に準拠できます。マルチアセット対応は標準の機能であり、すべての実装に必須の要件ではありません。ウォレットでのFA2トークンの表示方法
ウォレットは、コントラクトアドレス、トークンID、台帳情報、メタデータ、インデクサーのデータを使ってFA2資産を表示できます。ウォレットには、トークン名、シンボル、残高、画像、転送オプションが表示される場合があります。メタデータがない場合や、ウォレットがコントラクトをインデックスしていない場合、一部のトークンが自動的に表示されないことがあります。表示されていないからといって、オンチェーン残高が必ずゼロであるとは限りません。互換性のあるエクスプローラーまたはインデクサーで、コントラクトアドレス、トークンID、ブロックチェーン上のデータを確認してください。ウォレットの画面表示とコントラクトの実際のストレージが食い違う場合、ウォレットの画面を最終的な根拠として扱うべきではありません。マーケットプレイスによるFA2オペレーターの利用方法
マーケットプレイスは、トークン所有者にマーケットプレイスコントラクトをオペレーターとして追加するよう求める場合があります。この権限により、販売成立後にマーケットプレイスが指定されたトークンを転送できます。買い手が出品を受け入れた時点で、所有者が別途トークン転送トランザクションに署名する必要はありません。マーケットプレイスは、公開された販売ルールに従ってのみ権限を利用する必要があります。悪意のあるマーケットプレイスは、承認が有効な間に不正な転送を試みる可能性があります。承認する前に、オペレーターアドレスを確認してください。信頼または利用しなくなったアプリケーションの権限も削除してください。FA2標準エラーとは?
FA2は、ウォレットや分散型アプリケーションが一般的な失敗を一貫して解釈できるよう、標準エラー名を定めています。FA2エラーに関するドキュメントには、互換性のある実装で使われる標準エラーの種類が記載されています。
FA2_TOKEN_UNDEFINEDは、要求されたトークンIDがコントラクトに存在しないことを意味します。FA2_INSUFFICIENT_BALANCEは、送信元が転送に必要なトークンを十分に保有していないことを意味します。FA2_NOT_OPERATORは、呼び出し元に所有者のトークンを転送する権限がないことを意味します。FA2_NOT_OWNERは、所有者限定の操作を別のアカウントが要求したことを意味します。FA2_TX_DENIEDは、コントラクトのポリシーによって転送が拒否されたことを意味します。FA2_OPERATORS_UNSUPPORTEDは、コントラクトが要求されたオペレーターの動作を許可していないことを意味します。標準外の機能については、コントラクトが独自のエラーを定義できます。FA2トークンのセキュリティリスク
FA2に準拠していることは、スマートコントラクトの安全性を保証しません。残高を誤って変更する、または不正なミントを許可する不具合がコントラクトに含まれている可能性があります。管理者が、転送の一時停止、無制限のトークン発行、メタデータの変更、その他の重要な動作の制御を行える場合があります。悪意のあるコントラクトは、よく知られたトークン名を表示しながら、無関係な経済ルールを適用できます。安全でないアプリケーションを承認すると、オペレーター権限によって資産が危険にさらされる場合があります。外部メタデータは、完全性を保護する方法で保存されていない場合、消失または変更される可能性があります。未検証のカスタムエントリーポイントにより、標準的なウォレット画面では明らかにならない動作が生じることもあります。コントラクトアドレス、ソースコード、監査履歴、ミント制御、転送ポリシー、メタデータの保存方法、管理者権限を確認してください。オペレーター権限のリスク
FA2のオペレーター承認は、少量の1回限りの許可ではなくトークンIDに紐づくため、強い権限を持ちます。承認が有効な間、オペレーターはそのトークンタイプについて所有者の利用可能残高を移動できる場合があります。不正なアプリケーションは、オペレーター権限の要求を、無害なログインやアカウント接続のように見せかけることがあります。ウォレットでトランザクションの詳細を読み、オペレーターアドレスを確認してください。ウェブサイトからウォレットの接続を解除しても、オンチェーンのオペレーター承認が削除されるとは限りません。取り消しが必要な場合、ユーザーは適切なオペレーター削除操作を送信する必要があります。ミントと供給量のリスク
FA2標準は、共通の最大供給量を定めていません。トークン発行者が追加トークンを発行する権限を保持している場合があります。新たなミントは既存保有者の持分を希薄化したり、NFTコレクションの希少性を低下させたりする可能性があります。ミント権限が一元管理されている場合、管理者キーの侵害によって不正な供給増加が起こる可能性があります。誰がミントできるか、上限があるか、その権限を変更できるかを確認してください。供給量が固定されているというメタデータ上の説明は、実際のコントラクトの動作と照らし合わせて確認してください。転送制限のリスク
FA2トークンには、転送を制限または全面的に禁止するポリシーを適用できます。そのため、トークンがウォレットに表示されても、売却または送金できない場合があります。実装に一時停止機能がある場合、管理者が転送を停止できることもあります。転送制限は、正当なセキュリティ、身元確認、コンプライアンス上の目的に役立つ場合があります。一方で、保有者に予期しないカストディリスクや流動性リスクをもたらす可能性もあります。なじみのないトークンに金銭的価値を見込む前に、転送ルールをテストまたは確認してください。メタデータとメディアのリスク
オンチェーンで所有権が記録されても、オフチェーンのメディアに永久にアクセスできるとは限りません。NFTがブロックチェーン外でホストされた画像や文書を参照している場合があります。ホスティングが終了したり、ピン留めされていないストレージオブジェクトが削除されたりすると、ファイルを利用できなくなる可能性があります。変更可能なウェブアドレスでは、後から別のコンテンツが表示されることもあります。コンテンツアドレス指定型ストレージでは、ファイルを変更するとコンテンツ識別子も変わるため、完全性の向上に役立ちます。ただし、データの可用性は、誰かがデータを保持し配信し続けることに依存します。コレクターは、メタデータURI、保存方法、コンテンツハッシュ、バックアップ計画を確認してください。開発者がFA2コントラクトを作成する方法
開発者はTZIP-12を直接実装できますが、保守されているライブラリを使用することで、インターフェースやテストに関するミスを減らせる場合があります。SmartPyのFA2ライブラリは、代替可能トークン、NFT、単一資産コントラクト向けの基底クラスを提供します。
管理、ミント、バーン、転送ポリシーなどの機能を追加するオプションモジュールもあります。開発者は、プロジェクトに必要な機能だけを選ぶ必要があります。不要な管理者権限は、機能を改善せずにリスクを高める可能性があります。すべてのカスタムエントリーポイントで、標準の必須動作とエラーの想定を維持してください。メインネットにデプロイする前に、Tezosのテスト環境でコントラクトをテストする必要があります。FA2開発のベストプラクティス
必須エントリーポイントには、TZIP-12で定められた正確なパラメーター構造を使用します。単一転送、バッチ転送、数量ゼロの転送、残高不足をテストします。サポートするオペレーター操作とサポートしない操作をすべてテストします。未定義のトークンIDで適切なエラーが発生することを確認します。ミント、バーン、一時停止、管理者権限を明確に文書化します。コントラクトとトークンのメタデータは、安定した、完全性が保護された場所で公開します。FA2の対象となる失敗には標準エラー名を使用します。ウォレット、インデクサー、マーケットプレイス、アプリケーションとの統合をテストします。大規模なバッチやコレクションによるストレージ増加とトランザクションコストを確認します。価値のある資産を管理する前に、独立したセキュリティレビューを受けます。FA2.1とは?
FA2.1は、FA2トークンインターフェースの進化案です。TZIP-26に関連し、イベント、オンチェーンビュー、有限の使用許可、Tezosのチケットなどの概念を追加します。現在のSmartPyドキュメントではFA2.1をドラフトとして説明しています。
開発者は、すべてのFA2ウォレットやアプリケーションがFA2.1固有の機能に自動的に対応すると想定してはいけません。既存のFA2コントラクトは個別のデプロイメントであり、新しい提案が作成されても自動的に変更されません。FA2.1の採用を検討するプロジェクトは、追加される仕組みと現在のツール対応状況を慎重に確認してください。FA2に関するよくある誤解
FA2自体は暗号資産ではありません。トークンスマートコントラクトが実装できる標準です。FA2に準拠しているからといって、すべてのトークンが代替可能とは限りません。FA2に準拠しているからといって、すべてのトークンがNFTとは限りません。1つのFA2コントラクトが常に複数の資産を管理するわけではありません。トークンIDだけでは、FA2トークンを一意に特定できません。FA2への準拠は、供給量が固定されていることを保証しません。ミントとバーンは標準上必須ではありません。FA2オペレーターの権限は、必ずしも1単位または1回の転送に限定されません。メタデータは、実際の所有権や転送権を決定しません。ウォレットに残高が表示されても、トークンを転送または売却できるとは限りません。FA2に準拠しているからといって、コントラクトが監査済みである、または悪意ある動作がないことが証明されるわけではありません。よくある質問
TezosのFA2は何を意味しますか?
FA2はFinancial Application 2を意味し、TZIP-12で正式に定義されたTezosの統一トークン標準です。FA2は暗号資産ですか?
いいえ。FA2は、多様な暗号資産やデジタル資産の作成に使えるスマートコントラクトインターフェースです。FA2はNFT専用ですか?
いいえ。FA2は、代替可能トークン、NFT、マルチアセットコントラクト、譲渡不可資産、カスタムのトークンモデルに対応します。1つのFA2コントラクトに複数のトークンを含められますか?
はい。1つのコントラクトで、供給量、所有者、メタデータ、動作が異なる複数のトークンIDを管理できます。FA2トークンはどのように一意に識別されますか?
TezosのコントラクトアドレスとトークンIDの組み合わせで識別されます。単一トークンのFA2コントラクトでは、どのトークンIDを使いますか?
1種類のトークンのみをサポートするコントラクトでは、トークンID 0を使用する必要があります。FA2の残高はどこに保存されますか?
FA2スマートコントラクトが管理する台帳に保存されます。FA2トークンはウォレット内に直接保存されますか?
ウォレットはアカウントを管理し、トークンコントラクトの台帳がそのアカウントの残高または所有権を記録します。FA2で必須となるエントリーポイントは何ですか?
transfer、balance_of、update_operatorsです。transferエントリーポイントは何をしますか?
バッチ処理型のインターフェースを通じて、送信元アカウントから送信先アカウントへ1つ以上のトークン数量を移動します。balance_ofは何をしますか?
アカウントとトークンIDの組み合わせについて残高を要求し、コールバックコントラクトに結果を送信します。update_operatorsは何をしますか?
トークン所有者が、指定されたトークンIDを代理で転送する権限を持つアカウントを追加または削除できます。FA2オペレーターとは何ですか?
別のアカウントが保有する特定のトークンタイプを移動する権限を与えられたアカウントまたはコントラクトです。オペレーターは所有者のトークンをすべて転送できますか?
承認が有効な間、オペレーターは通常、承認されたトークンIDについて所有者の利用可能残高を転送できます。FA2オペレーターの承認は取り消せますか?
はい。コントラクトの転送ポリシーがオペレーターに対応していれば、所有者はオペレーター削除操作を送信できます。ウォレットの接続を解除するとオペレーター権限も削除されますか?
いいえ。ウェブサイトのセッションを終了しても、オンチェーンのオペレーター権限は自動的に取り消されません。FA2トークンを譲渡不可にできますか?
できます。FA2実装で通常のすべての転送を拒否するポリシーを採用できます。FA2コントラクトは転送を一時停止できますか?
管理者が制御する一時停止機能を実装している場合は可能です。FA2ではミント機能が必須ですか?
いいえ。ミントは任意で、コントラクトの設計によって異なります。FA2ではバーン機能が必須ですか?
いいえ。バーンも任意の機能です。FA2は最大供給量を保証しますか?
いいえ。供給量の上限やミント権限は、それぞれのトークンコントラクトで定められます。FA2トークンメタデータとは何ですか?
トークンIDに関連付けられた情報で、名前、シンボル、小数桁数、説明、メディアへのリンクなどが含まれます。FA2コントラクトメタデータとは何ですか?
コントラクト名、バージョン、インターフェース、ソース情報、ビューなど、スマートコントラクト自体に関する情報です。decimalsフィールドは何をしますか?
トークンの整数残高を小数点付きでどのように表示するかをウォレットに示します。小数桁数によってトークンは分割可能になりますか?
小数桁数は整数単位を表示する際の規則であり、実際に資産を分割できるかどうかはコントラクトの転送と供給のロジックで決まります。FA2の取引手数料はトークンで支払いますか?
FA2トークンを転送する場合でも、Tezosプロトコルの手数料は通常tezで支払います。tezとFA2トークンの違いは何ですか?
tezはTezosのネイティブ暗号資産で、FA2トークンはスマートコントラクトの台帳によって管理されます。FA1.2とFA2の違いは何ですか?
FA1.2は代替可能トークンを中心に設計されていますが、FA2はより幅広いトークンタイプ、トークンID、バッチ転送、マルチアセットコントラクトに対応します。ウォレットはすべてのFA2トークンを自動検出できますか?
必ずしもできません。検出できるかは、インデックス、メタデータ、コントラクト対応状況、ウォレットとの統合によって異なります。FA2トークンのメタデータが偽装されることはありますか?
あります。誰でも、誤解を招く名前、シンボル、画像、説明を持つコントラクトを作成できます。FA2に準拠していればトークンは安全ですか?
いいえ。準拠が示すのはインターフェースの互換性であり、安全性、価値、正当性、法的地位が証明されるわけではありません。FA2 NFTの画像が消えることはありますか?
あります。外部に保存されたメディアが適切に保持またはホスティングされていないと、利用できなくなる可能性があります。FA2.1とは何ですか?
FA2.1はFA2の進化案であり、イベント、オンチェーンビュー、有限の使用許可、チケットなどの機能が提案されています。FA2.1が自動的にFA2に取って代わりますか?
いいえ。既存のFA2コントラクトは個別のデプロイメントのままであり、FA2.1固有の機能への対応は現在の標準やツールによって異なります。まとめ
FA2は、TZIP-12で定義されたTezosの統一トークン標準です。代替可能トークン、NFT、譲渡不可資産、ハイブリッド型トークンシステム、マルチアセットスマートコントラクト向けの共通インターフェースを提供します。すべてのFA2トークンは、コントラクトアドレスとトークンIDの組み合わせで識別されます。この標準では、transfer、balance_of、update_operatorsの各エントリーポイントが必須です。バッチ処理型の設計により、1回のコントラクト呼び出しで複数のトークン移動や要求を処理できます。オペレーター権限により、アプリケーションは所有者に代わって指定されたトークンタイプを転送できますが、不要になった権限は取り消す必要があります。FA2では、開発者が転送ポリシー、供給ルール、ミント、バーン、管理、カスタム機能を柔軟に定められます。この柔軟性により幅広い暗号資産の用途に対応できる一方、コントラクトレベルでのデューデリジェンスが不可欠になります。なじみのないFA2資産を利用する前に、コントラクトアドレス、トークンID、メタデータ、供給量の制御、転送ルール、オペレーター権限、ソースコード、管理者権限を確認してください。FA2標準によってTezosエコシステム内の互換性は高まりますが、トークンの安全性、価値、譲渡可能性、正当性が保証されるわけではありません。関連コンテンツ
WhatsMiner M30S++
WhatsMiner M30S++とは? WhatsMiner M30S++は、SHA-256 Proof of Workマイニング向けに設計されたMicroBT製のBitcoin ASICマイナーです。 WhatsMiner M30シリーズの一部であり、主にマイニングプールを通じてBitcoinをマイニングするために使用されます。 ASICマイナーは、1種類の計算を非常に効率的に実行するために作
2026/10/15 11:08
Web3ドメイン
Web3ドメインとは? Web3ドメインとは、長いウォレットアドレスの代わりとなり、分散型コンテンツを参照し、オンチェーンアイデンティティを表現し、ユーザーをWeb3アプリケーションへ接続できる、ブロックチェーンベースの名前です。 ユーザーは、長い16進数のアドレスに暗号資産を送付する代わりに、ブロックチェーンベースのユーザー名やドメインなど、読みやすい名前へ送付できる場合があります。 Web3ド
2026/10/15 11:08
Web3プロジェクト
Web3プロジェクトとは? Web3プロジェクトとは、分散型技術を活用し、ユーザーが資産、ID、データ、参加、デジタル上の価値をより管理できるようにする、ブロックチェーンベースのアプリケーション、プロトコル、ツール、ネットワーク、コミュニティです。 Web3プロジェクトには、レイヤー1ブロックチェーン、レイヤー2ネットワーク、DeFiプロトコル、ウォレット、NFTプラットフォーム、DAO、ブロック
2026/10/15 11:06
ホット
現在、市場で大きな注目を集めているトレンドの暗号資産
トップ取引高
取引高が最も多い暗号資産

