メインコンテンツまでスキップ

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と異なり、関数の呼び出しが入れ子になっていても元の発行者のアドレスになる

Reference