Previous << Epoch Contracts
Next >> NFT Metadata
NonFungibleToken
コントラクトインターフェースは、Non Fungible Token Standardを実装しています。すべてのNFTコントラクトは、このスタンダードをインポートして実装することが推奨されています。
Source: NonFungibleToken.cdc
Network | Contract Address |
---|---|
Emulator | 0xf8d6e0586b0a20c7 |
Cadence Testing Framework | 0x0000000000000001 |
Testnet | 0x631e88ae7f1d7c20 |
Mainnet | 0x1d7e57aa55817448 |
Transactions
全てのNonFungibleToken
プロジェクトは、flow-nft
レポジトリ内の汎用(generic)トークン トランザクション/スクリプトを使用することが推奨されています。これらは、non-fungible tokenスタンダードを適切に実装したトークンであれば、違うネットワーク上であっても、コードのインポートアドレス以外一切変更しなくても、どのようなトークンにも使用できます。
Events
すべてのコントラクトから発行されるイベントは、標準的なフォーマットに従います。
A.{contract address}.{contract name}.{event name}
フォーマットの構成要素は以下の通りです。
-
contract address
- スマートコントラクトがデプロイされたアカウントのアドレス -
contract name
- ソースコード内のスマートコントラクトの名称 -
event name
- ソースコードで宣言されたイベントの名称
NonFungibleToken Events
Non-Fungible Token標準を実装するコントラクトは、トークンの預け入れやトークンの引き出しなど、関連するアクションが発生するたびに発行される標準的なイベントにアクセスできます。
つまり、プロジェクトが独自のカスタムイベントを実装する必要は、標準的なイベントがプロジェクトの要件を満たさない場合を除き、ないということです。
NonFungibleToken
のイベントは、次の形式をとります。
A.{contract address}.NonFungibleToken.Deposited
A.{contract address}.NonFungibleToken.Withdrawn
contract address
がネットワーク上でクエリーされているNonFungibleToken
のアドレスです。各ネットワーク上のアドレスは上部に示されています。
NonFungibleToken.Deposited
access(all) event Deposited (
type: String,
id: UInt64,
uuid: UInt64,
to: Address?,
collectionUUID: UInt64
)
NonFungibleToken.Collection
を実装するリソース型でdeposit()
が呼び出されるたびに、NonFungibleToken.Deposited
イベントが以下の引数と一緒に発行されます。
-
type: String
: 預け入れられたトークンの型のID。- 例:
A.4445e7ad11568276.TopShot.NFT
- 例:
-
id: UInt64
: 預け入れられたトークンのID。 注:これはUUIDである場合も、そうでない場合もあります。- 例:
173838
- 例:
-
uuid: UInt64
: 預け入れられたトークンのUUID。- 例:
177021372071991
- 例:
-
to: Address?
: トークンを受け取ったコレクションを所有するアカウントのアドレス。コレクションがアカウントに保存されていない場合、to
はnil
になります。- 例:
0x4445e7ad11568276
- 例:
-
collectionUUID: UInt64
:トークンを受け取ったコレクションのUUID。- 例:
177021372071991
- 例:
NonFungibleToken.Withdrawn
access(all) event Withdrawn (
type: String,
id: UInt64,
uuid: UInt64,
from: Address?,
providerUUID: UInt64
)
NonFungibleToken.Collection
を実装するリソース型でwithdraw()
が呼び出されると、NonFungibleToken.Withdrawn
イベントが以下の引数と一緒に発行されます。
-
type: String
: 引き出されるトークンの型のID。- 例:
A.4445e7ad11568276.TopShot.NFT
- 例:
-
id: UInt64
: 預け入れられたトークンのID。 注:これはUUIDである場合も、そうでない場合もあります。- 例:
173838
- 例:
-
uuid: UInt64
: 預け入れられたトークンのUUID。- 例:
177021372071991
- 例:
-
from: Address?
: トークンが引き出されたコレクションを所有するアカウントのアドレス。コレクションがアカウントに保存されていない場合、to
はnil
になります。- 例:
0x4445e7ad11568276
- 例:
-
providerUUID: UInt64
:トークンを引き出されたコレクションのUUID。- 例:
177021372071991
- 例:
NonFungibleToken.Updated
access(all) event Updated(
type: String,
id: UInt64,
uuid: UInt64,
owner: Address?
)
いかなる理由でも非代替性トークンが更新されるたびに、プロジェクトはNonFungibleToken.emitNFTUpdated()
関数を呼び出してこのイベントを発行すべきです。これにより、イベントリスナーは、データベースに保存されているNFTに関する情報を更新するために、NFTに対してquery処理を行うべきであることが示されます。
-
type: String
: 更新されたトークンの型のID。- 例:
A.4445e7ad11568276.FlowToken.Vault
- 例:
-
id: UInt64
: 更新されたトークンのID。 注:これはUUIDである場合も、そうでない場合もあります。- 例:
173838
- 例:
-
uuid: UInt64
: 更新されたトークンのUUID。- 例:
177021372071991
- 例:
-
owner: Address?
: トークンを所有するコレクションを所有するアカウントのアドレス。コレクションがアカウントに保存されていない場合、to
はnil
になります。- 例:
0x4445e7ad11568276
- 例:
Last updated on Dec 11, 2024 by Chase Fleming
翻訳元
Flow blockchain / Cadence version1.0ドキュメント (Non-Fungible Token)