pragma solidity ^0.4.16;
/**
* The SpecialVariables contract does this and that...
1.在属性定义的时候可以初始化,也可以调用全局变量,但是不能调用系统函数,
2.在构造函数里可以调用系统函数。
3.如果只是变动性为view的函数,无法改变参数,payable才有操作数,表示合约可支付
*/
contract SpecialVariables {
uint public blockNum = block.number;
address public bolckCoin = block.coinbase;
uint public minerDif = block.difficulty;
uint public blockGaslimit = block.gaslimit;
bytes32 public blockHash ;
uint public blockTime = block.timestamp;
uint256 public gasLeft ;
address public addr = msg.sender;
bytes4 public msgSig = msg.sig;
uint public msgValue = msg.value;
uint public Now = now;
uint public gasPrice = tx.gasprice;
address public txOrigin = tx.origin;
uint[] public array = [1,2,3];
byte public arr = byte(3);
function SpecialVariables () public {
blockHash = block.blockhash(blockNum) ;
}
function getBlockHash(uint _u) public payable returns(bytes32) {
blockHash = block.blockhash(_u);
return blockHash;
}
}
solidity学习笔记(三)
猜你喜欢
转载自blog.csdn.net/qq_33828894/article/details/81272078
今日推荐
周排行