您当前的位置: 首页 >  区块链
  • 2浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

区块链 以太坊 全局变量 状态变量 局部变量 是什么 区别

软件工程小施同学 发布时间:2021-06-29 15:21:41 ,浏览量:2

pragma solidity ^0.4.25;
contract Sample{
​
    //State variables
    address private _admin;
    uint private _state;
​
    //Modifier
    modifier onlyAdmin(){
        require(msg.sender == _admin, "You are not admin");      
        _;
    }
​
    //Events
    event SetState(uint value);
​
    //Constructor
    constructor() public{
        _admin = msg.sender;
    }
​
    //Functions
    function setState(uint value) public onlyAdmin{
        _state = value;
        emit SetState(value);
    }
​
    function getValue() public view returns (uint){
        return _state;
    }


    function stringSample() public view returns(bytes){
        string memory str = "abc";
        bytes memory b = bytes(str);
        //0x616263
        return b;
    }
​
}
1. 状态变量

状态变量是合约的骨髓,它记录了合约的业务信息。用户可以通过函数来修改这些状态变量,这些修改也会被包含到交易中;交易经过区块链网络确认后,修改即为生效。

如:

uint private _state;

2.局部变量

比如stringSample()函数中的

       string memory str = "abc";

3. 全局变量

图片

示例合约代码的构造函数中,包含msg.sender。它属于全局变量。

在智能合约中,全局变量或全局方法可用于获取和当前区块、交易相关的一些基本信息,如块高、块时间、合约调用者等。

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.3048s