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がアカウントに保管されていない場合、to
はnil
になります。- 例:
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がアカウントに保管されていない場合、to
はnil
になります。- 例:
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