Flow Token

[Previous << Fungible Token](https://qiita.com/flowcadence/items/2c2451d0b6bd889f407d)
[Next >> Service Account](https://qiita.com/flowcadence/items/c11bd0dfea9691961946)

https://qiita.com/flowcadence/items/3073d69c6e9895e68b5a#flow-developers

`FlowToken`コントラクトは、FLOWのネットワークトークンを定義します。

Source: [FlowToken.cdc](https://github.com/onflow/flow-core-contracts/blob/master/contracts/FlowToken.cdc)
| Network | Contract Address |
|:-:|:-:|
| Emulator | `0x0ae53cb6e3f42a79` |
| Cadence Testing Framework | `0x0000000000000003` |
| Testnet | `0x7e60df042a9c0868` |
| Mainnet | `0x1654653399040a61` |

<h1>Transactions</h1>

`FlowToken`のトランザクションとスクリプトは、`flow-core-contracts`の[レポジトリ](https://github.com/onflow/flow-core-contracts/tree/master/transactions/flowToken)にあります。

`FungibleToken`のページで述べたように、開発者は代わりに`flow-ft`の[レポジトリ](https://github.com/onflow/flow-ft/tree/master/transactions)にある汎用(generic)トークントランザクションを使用することが推奨されます。

<h1>Events</h1>

Flowは、Flowプロトコルの主要部分を定義している一連の[コア・コントラクト](https://qiita.com/flowcadence/items/e40267a3b8969f140431)に依存しています。これらのコントラクトはコア・コントラクトといい、以下に記したイベントを発行するように作成されています。コア・コントラクトについては、こちらで説明されており、ソースコードとイベント定義を確認することができます。

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

```ruby
A.{contract address}.{contract name}.{event name}
```
フォーマットの構成要素は以下の通りです。
* `contract address` - スマートコントラクトがデプロイされたアカウントのアドレス
* `contract name` - ソースコード内のスマートコントラクトの名称
* `event name` - ソースコードで宣言されたイベントの名称

<h2>Flow Token Contract</h2>

[FLOWトークンコントラクト](https://qiita.com/flowcadence/items/41308221443f207a7921)から発行されるイベントの説明。このスマートコントラクトでは、代替可能なFLOWトークンを定義しています。代替可能なトークンのコントラクトのイベントは以下の場合でも同じであることにご注意ください。異なるアカウントにデプロイされたとしても、その`contract address `がデプロイ先のアカウントのアドレスに変更される場合。

<h2>Tokens Initialized</h2>

コントラクトが作成される際に発生するイベント。
* Event name: `TokensInitialized`
* Mainnet event: `A.1654653399040a61.FlowToken.TokensInitialized`
* Testnet event: `A.7e60df042a9c0868.FlowToken.TokensInitialized`

```ruby
access(all) event TokensInitialized(initialSupply: UFix64)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| initialSupply | UFix64 | The initial supply of the tokens |

<h2>Tokens Withdrawn</h2>

トークンがVaultから引き出される際に発行されるイベント。
* Event name: `TokensWithdrawn`
* Mainnet event: `A.1654653399040a61.FlowToken.TokensWithdrawn`
* Testnet event: `A.7e60df042a9c0868.FlowToken.TokensWithdrawn`

```ruby
access(all) event TokensWithdrawn(amount: UFix64, from: Address?)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| amount | UFix64 | 引き出されたトークンの量 |
| from | Address? | トークンが引き出されたVaultを所有するアカウントのアドレス(オプショナル)。Vaultがアカウントのストレージ内にない場合は`nil` |

<h2>Tokens Deposited</h2>

トークンがVaultに預け入れられた際に発行されるイベント。
* Event name: `TokensDeposited`
* Mainnet event: `A.1654653399040a61.FlowToken.TokensDeposited`
* Testnet event: `A.7e60df042a9c0868.FlowToken.TokensDeposited`

```ruby
access(all) event TokensDeposited(amount: UFix64, to: Address?)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| amount | UFix64 | 預け入れられたトークンの量 |
| from | Address? | トークンが預け入れられたVaultを所有するアカウントのアドレス(オプショナル)。Vaultがアカウントのストレージ内にない場合は`nil` |


<h2>Tokens Minted</h2>

新しいトークンが発行された際に発行されるイベント。
* Event name: `TokensMinted`
* Mainnet event: `A.1654653399040a61.FlowToken.TokensMinted`
* Testnet event: `A.7e60df042a9c0868.FlowToken.TokensMinted`

```ruby
access(all) event TokensMinted(amount: UFix64)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| amount | UFix64 | 発行するトークンの量 |


<h2>Tokens Burned</h2>

トークンが破棄された際に発行されるイベント。
* Event name: `TokensBurned`
* Mainnet event: `A.1654653399040a61.FlowToken.TokensBurned`
* Testnet event: `A.7e60df042a9c0868.FlowToken.TokensBurned`

```ruby
access(all) event TokensBurned(amount: UFix64)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| amount | UFix64 | 破棄するトークンの量 |


<h2>Minter Created</h2>

新しいminterリソースが作成された際に発行されるイベント。
* Event name: `MinterCreated`
* Mainnet event: `A.1654653399040a61.FlowToken.MinterCreated`
* Testnet event: `A.7e60df042a9c0868.FlowToken.MinterCreated`

```ruby
access(all) event MinterCreated(allowedAmount: UFix64)
```
| Field | Type | Description |
|:-:|:-:|:-:|
| allowedAmount | UFix64 | 発行者が発行できるトークンの量 |


<h2>Burner Created</h2>

新しいburnerリソースが作成された際に発行されるイベント。
* Event name: `BurnerCreated`
* Mainnet event: `A.1654653399040a61.FlowToken.BurnerCreated`
* Testnet event: `A.7e60df042a9c0868.FlowToken.BurnerCreated`

```ruby
access(all) event BurnerCreated()
```

<h2>Staking Events</h2>

ステーキングイベントについてさらに詳しく知りたい場合は、[ステーキング/イベント/](https://developers.flow.com/networks/staking/staking-scripts-events)をご覧ください。

*Last updated on **Dec 11, 2024** by **Chase Fleming***

翻訳元

https://developers.flow.com/build/core-contracts/flow-token

***

<b>[Previous << Fungible Token](https://qiita.com/flowcadence/items/2c2451d0b6bd889f407d)
</b>

[Flow blockchain / Cadence version1.0ドキュメント](https://qiita.com/flowcadence/items/3073d69c6e9895e68b5a) (Fees)

<b>[Next >> Service Account](https://qiita.com/flowcadence/items/c11bd0dfea9691961946)</b>