由于版本更新比较快。过去一部分写法,现在使用0.5.10
版本开发合约时,部分报错。再去翻翻官方的最新的文档。
文章目录
一、特殊变量
msg
msg.sender
(address
) 消息发送者(当前调用)msg.value
(uint
) 随消息发送的 wei 的数量msg.data
(bytes
) 完整的 calldatamsg.gas
(uint
) 剩余 gas ,( 弃!)推荐使用gasleft()
msg.sig
(bytes4
) calldata 的前 4 字节(也就是函数标识符)
tx
tx.gasprice
(uint) 交易的 gas 价格tx.origin
(address) 交易发起者(完全的调用链)
block
block.blockhash(uint blockNumber) (bytes32)
指定区块的区块哈希,仅可用于最新的 256 个区块且不包括当前区块,( 弃!)推荐使用blockhash(uint blockNumber)
block.coinbase
(address
): 挖出当前区块的矿工地址block.difficulty
(uint
): 当前区块难度block.gaslimit
(uint
): 当前区块 gas 限额block.number
(uint
): 当前区块号block.timestamp
(uint
): 自 unix epoch 起始当前区块以秒计的时间戳
address
<address>.balance
(uint256
): 以 Wei 为单位的地址类型的余额。<address payable>.transfer(uint256 amount)
: 向地址类型发送数量为 amount 的