天天看点

以太坊系列 - Solidity智能合约 - 特殊变量与函数

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

,因为他们都是有可能被篡改的。

继续阅读