淘先锋技术网

首页 1 2 3 4 5 6 7

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;
    }
}