美文网首页
solidity 学习(一)第一个合约与Remix

solidity 学习(一)第一个合约与Remix

作者: 真是个点子王 | 来源:发表于2020-04-13 12:02 被阅读0次

第一个合约


pragma solidity ^0.4.0;

contract HelloWorld{
    string Myname = "Emission";
    
    function getName() public view returns (string)
    { 
        return Myname;
    }
    
    function changeName(string _newName) public
    {
        Myname = _newName;
    }
    
}
  • pragma:版本编译指令,编译器会读取这个版本要求,如果当前编译器的版本与要求不符合,就会提示出错。例如0.4.0,“”符号表示,程序可以跟任何 次 版本号高于0.4.0的编译器兼容;
  • 权限标识符:
    • public:设定为public的函数可以被外部账户的交易、其他合约和本合约内部调用。
    • external:定义为external的函数类似于public,但不能在合约内部调用,除非在调用时指明关键字this
    • internal:internal函数只能被合约内部的函数调用,不能被外部账户的交易或者其他智能合约调用。它们还可以被派生的子合约调用
    • private:private函数与internal函数类似,但不能被当前合约的派生子合约调用
  • 关于函数行为的关键字
    • constant或者view:当函数被标注为view时,它将承诺不对任何状态进行修改。constant时view的另一种表示方法。
    • pure:表示这个函数不会在区块链存储中读取和写入任何数据。这样的函数只能处理参数,然后返回值给调用方,无法在区块链上读取或者存储任何数据。
    • payable:表示函数用于接收外部的支付。未声明未payable的函数不能接收任何以太币支付。

Remix的使用


编译器界面

编译器界面
  • 对选定的.sol代码进行编译。

部署


  • 选择需要的虚拟账户后对智能合约进行部署

  • 暂时个人的理解,但不一定对。智能合约有一点点面向对象中的类的味道,但部署后就会只有形成一个该合约对象的实例。


  • 部署后显示合约内的函数接口,可以进行相关的调用。


  • 相关交易信息

相关文章

网友评论

      本文标题:solidity 学习(一)第一个合约与Remix

      本文链接:https://www.haomeiwen.com/subject/ipqgmhtx.html