首页 > 其他分享 >solidity部分修饰符的使用以及合约的部分调用方法

solidity部分修饰符的使用以及合约的部分调用方法

时间:2023-01-14 15:57:45浏览次数:32  
标签:function 修饰符 return age solidity 调用 uint 部分 view

View pure修饰符:

使用view与pure不需要gwei

view:不能修改链上数据只能访问

pure:不能访问链上数据,被修饰的方法里的变量只能在方法内使用

contract ViewPureExample {

    uint public age;

 

    function increaseAge() public{

        age ++;

}

 

    function GetViewAge() public view returns(uint){ //view 修饰

        //age ++;// 不可修改变量

        return age;

}

 

function GetPureAge(uint age) public pure returns(uint){ //因为pure方法 所以需要设置参数

       

        age ++;

 

        return age;//如果直接return会直接报错  因为pure修饰 所以不能访问方法外的变量

 

    }

}

 

Public internal private external 方法修饰符:

public:任何地方都可以调用

internal:只有本sol文件调用

private:只有本合约能调用

external:只能从外部调用即合约外部

 

contract PublicExternalPrivateInternal {

    uint age = 100;

 

    function GetAgeWithPublic() public view returns(uint){  //外部内部都可调用

        return age;

    }

    function GetAgeWithInternal() internal view returns(uint){ // 本sol文件调用

        return age;

    }

 

    function GetAgeWithPrivate() private view returns(uint){ //本合约调用

        return age;

    }

function GetAgeWithExternal() external view returns(uint){ //只能外部

//调用

        return age;

    }

    function Callfunction() public view returns(uint){

        return GetAgeWithPrivate();//方法可以调用方法只要被调用的方法允许

    }

}

可以自行编译后尝试调用查看输出

 

简单的合约调用:

contract Salary {

    uint public data;

 

    function getData() external view returns(uint){

        return data;

}

 

    function setData(uint _data) external {

        data = _data;

    } 

}

 

contract Employee {

    Salary salart;

    constructor(){

        salary = new Salary();

    }

    function getSalary() external view returns(uint){

        return salary.getData();

    }

    function setSalaty(uint _data) external {

        salary.setData(_data);

    }

}

标签:function,修饰符,return,age,solidity,调用,uint,部分,view
From: https://www.cnblogs.com/xingzheakai/p/17051945.html

相关文章

  • python中os.path常用属性和部分使用方法
    1os.path模块常用的属性和方法2简单示例在一个工程或者项目中用到的会多一点,比如需要得到某个文件或者配置文件的路径等。这里示例为:C:\Users\Administrator\Desk......
  • 漏洞免费实战部分-安卓应用漏洞学习case5
    前期回顾漏洞免费实战部分-安卓应用层getLastPathSegment函数问题漏洞实战部分2-安卓应用ZipEntry对象问题实战漏洞实战部分3-ContentProvider组件的openFile接口问题......
  • 某家宠物SAAS平台笔试题部分答题
    packagecom;//注意:题目有四道,请认真仔细读题,//如果有不理解的地方,请联系HR或面试官,//如果有不会的,请留空,不要求做完,不要盲目答题.im......
  • solidity结构以及部分方法
    合约结构://SPDX-License-Identifier:GPL-3.0 //或者UNLICENSED表示非开源,无法审核 pragmasolidity>=0.4.0<0.9.0; //solidity版本设置import"name1.sol";/......
  • 区块链特辑——solidity语言基础(五)
    Solidity语法基础学习九、实战项目(一):学以致用UP主捐款合约·合约要求:·建立时,需将合约的建立者设定成owner(constructor,msg.sender)·需记录每个观众的捐款......
  • 访问修饰符与接口
    1.使用interface关键字修饰,里面的方面默认使用publicabstract修饰,属性使用publicstaticfinal修饰.2.类可以实现接口,接口继承接口 一、访问修饰符1.public:不同......
  • 【英语六级笔记】翻译部分
    准备六级考试的时候收集的一些词语、搭配1、历史文化发源于/起源于originatefromsthisthebirthplaceofsthisthecradleofcardle:摇篮,发源地startin兴起于...,兴......
  • 【MATLAB优化算法】遗传算法理论部分
    遗传算法引言遗传算法(GeneticAlgorithm,GA)是模拟生物在自然境中的遗传和进化的过程而形成的自适应全局优化的搜索算法。它借用了生物遗传学的观点,通过自然选择、遗传和变......
  • Telegram 部分地区支持邮箱登录
    Telegram部分地区支持邮箱登录1.注册时要求输入邮箱验证2.再次登录时Telegram会向绑定邮箱发送验证码邮件3.输入邮箱验证码之后可登录Telegram(没有收到已登录设备的......
  • 数据库第三天(p3的1/3部分)
    视频笔记一直到4(2)信息世界中的基本概念......