browser/payable.sol:14:34: Error: Expected token LBrace got ‘View‘ function getMessage()

   日期:2020-09-06     浏览:152    评论:0    
核心提示:在学习solidity过程中碰到一个小细节的问题,这个问题不是很难,但是网上找了许多资料也未能找到相关的解决办法,今天偶然看了一篇文章解决了这个问题。错误如下:编写的代码如下://指定编译器版本,版本标识符pragma solidity ^0.4.0;//关键字 contract 跟java的class一样 智能合约是Inbox contract Inbox{ //string 是数据类型,message是成员变量,在整个智能合约生命周期都可以访问 /

在学习solidity过程中碰到一个小细节的问题,这个问题不是很难,但是网上找了许多资料也未能找到相关的解决办法,今天偶然看了一篇文章解决了这个问题。

错误如下:

编写的代码如下:

//指定编译器版本,版本标识符
pragma solidity ^0.4.0;


//关键字 contract 跟java的class一样  智能合约是Inbox      
contract Inbox{
    //string 是数据类型,message是成员变量,在整个智能合约生命周期都可以访问
    //public 是访问修饰符,是storage类型的变量,成员变量和是全局变量
    string public message = "zsan ";



    //view是修饰符,表示该函数仅读取成员变量,不做修改
    function getMessage() public view returns(string) {
        return message;
    }
}

因为我想在运行合约的时候点击函数名称就可以显示结果,所以使用了view关键字来显示,但是每次运行都是出现这个错误,网上看别人都能完美运行但是自己却总是运行不成功。

【分析原因】

网上大多数教程是2017/2018的,现在是2020年经过2年的发展Remix-Ethereum IDE 版本更新了很多,所以经过我自己的测试0.4.0到0.4.15的版本不兼容了,所以我们只需要更换下版本号为 0.4.16(>=0.4.16就可以)

所以我们修改下代码,将版本号改为0.4.16

//指定编译器版本,版本标识符
pragma solidity ^0.4.16;

再次运行,结果如下:

点击Run运行合约:

达到我们预期的结果了,所以纠结我很久的小问题终于解决了。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服