Global Variables
Global Variablesについて学習します
Global Variablesとは各コントラクトに依存しない、共通で使える変数のことです
頻出のもののみ記載するので、詳しくはReferenceを参照してください
Ether
ネイティブ通貨であるEthereumを取り扱う際に使える定数
整数型との互換性がある
- wei
1 wei == 1
- gwei
1 gwei == 1e9
- ether
1 ether == 1e18
Time
時間を取り扱う際に使える定数
整数型との互換性がある
- seconds
1 seconds == 1
- minutes
1 minutes == 60 seconds
- hours
1 hours == 60 minutes
- days
1 days == 24 hours
- weeks
1 weeks == 7 days
この定数はうるう秒等に対応しているわけではないことに注意する必要がある
Block
自身が含まれたブロックの情報を取得する際に使える変数
- block.number(uint)
- 現在までに積みあがったブロックの数
- block.timestamp(uint)
- ブロックが生成された時間(UNIXエポック)
Transaction
トランザクションを発行するときに使える変数
- msg.data(bytes)
- 関数の引数をbytesにパックしたもの
- msg.value(uint)
- そのトランザクションで送金されたEthereumの量
- msg.sender(address)
- 関数の呼び出しアドレス
- 関数の呼び出しが入れ子になっている場合、直前の呼び出し者のアドレスになる
- tx.origin(address)
- トランザクションの発行者アドレス
- msg.senderと異なり、関数の呼び出しが入れ子になっていても元の発行者のアドレスになる