Solidify实现一个智能合约13(单位/全局变量)

以太币的单位

一个整数后面可以跟的一个单位:ether,finney,szabo,wei。

换算如下:

1 ether = 1000 finney

1 ether = 100 0000szabo

1 ether = 10**18wei

时间单位

seconds,minutes,hours,days,weeks,years。

特殊变量和函数

区块和交易属性

block.blockhash(uint blockNumber) returns (bytes32):某个区块的区块链hash值。

block.coinbase(address):当前区块的挖矿地址

block.difficulty(uint):当前区块的难度

block.gaslimit(uint):当前区块的gaslimit

block.number(uint):当前区块编号

block.timestamp(uint):当前区块的时间戳

msg.data(bytes):参数

msg.gas(uint):剩余的gas

msg.sender(address):当前发送消息的地址

msg.sig(bytes4):方法ID

msg.value(uint):伴随消息附带的以太币数量

now(uint):时间戳,等价于block.timestamp(uint)

tx.gasprice(uint):交易的gas单价

tx.origin(address):交易发送地址

错误处理

assert(bool condition):不满足条件,将抛出异常。

require(bool condition):不满足条件,将抛出异常。

revert():抛出异常。

如:

if(msg.sender != owner){ revert(); }

assert(msg.sender == owner);

require(msg.sender == owner);

 

 

你可能感兴趣的:(区块链智能合约)