@solidity编写SimpleStorage合约
入门solidity编写SimpleStorage合约
solidity编写第一步
编写solidity语言可以在remix上进行编译,网址http://remix.app.hubwiz.com/,进入网址后,开始创建并对文件命名。
solidity编写第二步
pragma solidity 0.8.8;
pragma solidity后接数字表示版号
常出现的编译错误
ParserError: Source file requires different compiler version (current compiler is 0.8.7+commit.e28d00a7.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version --> browser/Untitled7.sol:4:1: | 4 | pragma solidity 0.8.8; | ^^^^^^^^^^^^^^^^^^^^^^
这里需要调节编译版号,改成0.8.8。
solidity编写第三步
contract SimpleStorage
创建合约名
uint256 favoriteNumber;
定义256位变量名favoriteNumber
struct People {
uint256 favoriteNumber;
string name;
}
定义people的结构体,并创建favorite Number和name变量。
People[] public people;//创建people数组。
mapping(string => uint256) public nameToFavoriteNumber;//
映射,例:输入dnis,8 查询时输入dnis,会输出8。
function store(uint256 _favoriteNumber) public virtual {
favoriteNumber = _favoriteNumber;
}
使用favoriteNumber来接受——favoriteNumber。
function retrieve() public view returns (uint256){
return favoriteNumber;
}
返回favoriteNumber的值。
function addPerson(string memory _name, uint256 _favoriteNumber) public {
people.push(People(_favoriteNumber, _name));
nameToFavoriteNumber[_name] = _favoriteNumber;
}