以太坊系列 - 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,因为他们都是有可能被篡改的。

猜你喜欢

转载自blog.csdn.net/wcc19840827/article/details/106373727