使用Remix编写Solidity语言的小例子

设置数值/取数值/加法运算

讲解

  • uint默认使用256位数的整型
  • view表示这个函数仅仅对于数据仅仅是读取,没有修改操作
  • returns(uint ),如果单纯指定uint,返回的是函数体内的return值,如果包含uint sum,uint SAD_a,那么返回就会包含sum和SAD_a字段

代码

pragma solidity ^0.4.17;

contract SimpleStorage{
    uint myData;
    function setData(uint newData)public{
        myData = newData;
    }
    
    function getData() public view returns(uint){
        return myData;
    }
    
    function pureAdd(uint a,uint b)public pure returns(uint sum,uint SAD_a){
        return (a+b,a);
    }
}

界面

进行操作

  • 先点击Deploy进行合约部署,然后选择setData,输入数据;在console显示成功执行之后,点击getData取传入的数据
  • pureAdd传入两个数字,以英文逗号相隔,输入后点击pureAdd获取相加的结果

汽车品牌/设置和取值

讲解

  • string可以输入很多的字符串,因此存在隐患,会爆出警告,可以使用bytes来替代,后面也会设定字节数
  • 如果是string,输入的时候需要加入引号
  • 如果是bytes,只接收十六进制的数,因此需要编码将utf编码转化为十六进制,使用web3的函数,web3.toHex(“字符串”),生成十六进制的串;web3.toUtf8(“得到的哈希序列”)
  • 将price设置为public则默认会有get方法,不需要写对应的获取方法也是可以得到数值的

代码

pragma solidity ^0.4.17;

contract Car{
    string brand;
    uint public price;
    constructor(string initBrand,uint initPrice)public{
        brand = initBrand;
        price = initPrice;
    }
    function setBrand(string newBrand)public{
        brand = newBrand;
    }
    
    function getBrand() public view returns (string){
        return brand;
    }
    
    function setPrice(uint newPrice)public{
        price = newPrice;
    }
}

界面

  • 加入constructor进行初始化合约赋值,先输入品牌,价格再部署合约,赋予初始默认值

猜你喜欢

转载自blog.csdn.net/CHYabc123456hh/article/details/106956796
今日推荐