第1节:全局变量(block.timestamp等)

小白入门:https://github.com/dukedaily/solidity-expert ,欢迎star转发,文末加V入群。

职场进阶: https://dukeweb3.com

区块和交易的属性

描述区块链信息的全局变量,包括:

函数 含义 备注
blockhash(uint blockNumber) (byte32)哈希值
block.coinbase (address) 当前块矿工的地址
block.difficulty (uint)当前块的难度
block.gaslimit (uint)当前块的gaslimit
block.number (uint)当前区块的块号
block.timestamp (uint)当前块的时间戳 常用
gasleft() (uint)当前还剩的gas
tx.origin (address)交易的原始发送者的地址,只能是EOA 常用
msg.sender (address)当前调用发起人的地址(可能是合约CA,也可能是EOA) 常用
msg.sig (bytes4)调用数据的前四个字节(函数标识符) 常用
msg.value (uint)这个消息所附带的货币量,单位为wei 常用
msg.data (bytes)完整的调用数据(calldata) 常用
tx.gasprice (uint) 交易的gas价格

注:

  • EOA:Externally Owned Account,与一个私钥一一对应,例如小狐狸里面的account1就是EOA
  • CA:Contract Account,合约账户,没有私钥与之对应,我们部署的合约就是一个CA,它也可以持有资金。