1、货币单位
2、时间单位
3、solidity全局变量
示例1:
pragma solidity >=0.6.0<0.8.0;
contract TestGlobalValue{
// 区块hash
function getBlockHash() public view returns(bytes32) {
// 不能获取当前块的hash,只能获取当前块之前的块的hash
return blockhash(block.number-1);
}
// 当前区块的矿工地址
function getCoinbase() public view returns(address) {
return block.coinbase;
}
// 区块难度
function getDifficulty() public view returns(uint) {
return block.difficulty;
}
// 当前调用发起人的地址
function getSender() public view returns(address) {
return msg.sender;
}
}
示例2:
pragma solidity >=0.6.0<0.8.0;
contract TestGlobalValue2 {
address onwer;
uint money;
// 构造函数,记录合约发起者的地址
constructor() public {
onwer = msg.sender;
}
// 只有合约发起者才能修改money
function changeMoney() public {
require(msg.sender == onwer);
money += 5000;
}
function getMoney() public view returns(uint) {
return money;
}
}