Solidity自身携带的特殊变量以及函数:
block.blockhash
(uint blockNumber) returns (bytes32): 返回参数区块编号的hash值。(范围仅限于最近256块,还不包含当然块)
block.coinbase
(address): 当前区块矿工地址
block.difficulty
(uint): 当前区块难度
block.gaslimit
(uint): 当前区块的gaslimit
block.number
(uint): 当前区块编号
block.timestamp
(uint): 当前区块的timestamp,使用UNIX时间秒
msg.data
(bytes): 完整的calldata
msg.gas
(uint): 剩余的gas
msg.sender
(address): 信息的发送方 (当前调用)
msg.sig
(bytes4): calldata的前四个字节 (i.e. 函数标识符)
msg.value
(uint): 消息发送的wei的数量
now
(uint): 当前区块的timestamp (block.timestamp别名)
tx.gasprice
(uint): 交易的gas单价
tx.origin
(address): 交易发送方地址(完全的链调用)
msg有两个属性,一个是msg.sender
,另一个是msg.value
,这两个值可以被任何external函数调用,包含库里面的函数。
注意谨慎使用block.timestamp
, now
and block.blockhash
,因为他们都是有可能被篡改的。