0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Fungible Token

Last updated at Posted at 2024-12-22

Previous << Core Smart Contracts
Next >> Flow Token

FungibleTokenコントラクトは、Fungible Token Standardを実装しています。これは、Flow上で2番目にデプロイされたスマートコントラクトです。

FungibleTokenMetadataViewsおよびFungibleTokenSwitchboardコントラクトも、FungibleTokenと同じアカウントにデプロイされます。

Source: FungibleToken.cdc

Network Contract Address
Emulator 0xee82856bf20e2aa6
Cadence Testing Framework 0x0000000000000002
Testnet 0x9a0766d93b6608b7
Mainnet 0xf233dcee88fe0abe

Transactions

すべてのFungibleTokenプロジェクトは、flow-ft リポジトリ内の汎用(generic)トークン トランザクション/スクリプトを使用することが推奨されます。これらは、fungible tokenスタンダードを適切に実装したトークンであれば、違うネットワーク上であっても、コードのインポートアドレス以外一切変更しなくても、どのようなトークンにも使用できます。

Events

すべてのコントラクトから発行されるイベントは、標準的なフォーマットに従います。

A.{contract address}.{contract name}.{event name}

フォーマットの構成要素は以下の通りです。

  • contract address - スマートコントラクトがデプロイされたアカウントのアドレス
  • contract name - ソースコード内のスマートコントラクトの名称
  • event name - ソースコードで宣言されたイベントの名称

FungibleToken Events

Fungible Token標準を実装するコントラクトは、トークンの預け入れやトークンの引き出しなど、関連するアクションが発生するたびに発行される標準的なイベントにアクセスできます。

つまり、プロジェクトが独自のカスタムイベントを実装する必要は、標準的なイベントがプロジェクトの要件を満たさない場合を除き、ないということです。

FungibleTokenのイベントは、次の形式をとります。

A.{contract address}.FungibleToken.Deposited
A.{contract address}.FungibleToken.Withdrawn

contract addressがネットワーク上でクエリーされているFungibleTokenのアドレスです。各ネットワーク上のアドレスは上部に示されています。

FungibleToken.Deposited

access(all) event Deposited (
    type: String,
    amount: UFix64,
    to: Address?,
    toUUID: UInt64,
    depositedUUID: UInt64,
    balanceAfter: UFix64
)

FungibleToken.Vaultを実装するリソース型でdeposit()が呼び出されるたびに、FungibleToken.Depositedイベントが以下の引数と一緒に発行されます。

  • type: String: 入金されたトークンの型のID。
    • 例:A.4445e7ad11568276.FlowToken.Vault
  • amount: UFix64: 入金されたトークンの量。
    • 例:0.00017485
  • to: Address?: トークンを受け取ったVaultを持つアカウントのアドレス。Vaultがアカウントに保管されていない場合、tonilになります。
    • 例:0x4445e7ad11568276
  • toUUID: UInt64: トークンを受け取ったVaultのUUID。
    • 例:177021372071991
  • depositedUUID: UInt64:入金された(したがって破棄された)VaultのUUID。
    • 例:177021372071991
  • balanceAfter:UFix64:入金後のVaultの残高。
    • 例:1.00047545

FungibleToken.Withdrawn

access(all) event Withdrawn (
    type: String,
    amount: UFix64,
    from: Address?,
    fromUUID: UInt64,
    withdrawnUUID: UInt64,
    balanceAfter: UFix64
)

FungibleToken.Vaultを実装するリソース型でwithdraw()が呼び出されると、FungibleToken.Withdrawnイベントが以下の引数と一緒に発行されます。

  • type: String: 引き出されるトークンの型のID。
    • 例:A.4445e7ad11568276.FlowToken.Vault
  • amount: UFix64: 引き出されたトークンの量。
    • 例:0.00017485
  • from: Address?: トークンが引き出されたVaultを持つアカウントのアドレス。Vaultがアカウントに保管されていない場合、tonilになります。
    • 例:0x4445e7ad11568276
  • fromUUID: UInt64: トークンが引き出されたVaultのUUID。
    • 例:177021372071991
  • withdrawnUUID: UInt64:引き出されたVaultのUUID。
    • 例:177021372071991
  • balanceAfter:UFix64:引き出された後の、Vaultの残高。
    • 例:1.00047545

FungibleToken.Burned

access(all) event Burned (
    type: String,
    amount: UFix64,
    fromUUID: UInt64
)

FungibleToken.Vault を実装するFungibleトークンが、Burner.burn()メソッドによって焼却されるたびに、このイベントが以下の引数と一緒に発行されます。

  • type: String: 焼却されたトークンの型のID。
    • 例:A.4445e7ad11568276.FlowToken.Vault
  • amount: UFix64: 焼却されたトークンの数。
    • 例:0.00017485
  • fromUUID: UInt64: 焼却されたVaultのUUID。
    • 例:177021372071991

Last updated on Dec 11, 2024 by Chase Fleming

翻訳元


Previous << Core Smart Contracts

Flow BlockchainのCadence version1.0ドキュメント (Fees)

Next >> Flow Token

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?