背景
通过学习Solidity,然后输出文章检验自己的学习成果github仓库
基础知识
这是一个简单的计数器合约,在合约中存储一个数,你可以增加和减少此数
例子
该例子是一个链上计数器合约
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Counter {
uint public count;
function getCount() public view returns (uint) {
return count;
}
function inc() public {
count++;
}
function dec() public {
count--;
}
}
程序解析
uint public count;
- 存储在链上合约中的
count变量,用public修饰可见性,在后面可以知道,public修饰的变量,会自动生成一个get函数
function getCount() public view returns (uint) {
return count;
}
- 该函数用于获取当前
count的值,其实此函数是多此一举hhh
function inc() public {
count++;
}
- 该函数用于增加
count的值
function dec() public {
count--;
}
- 该函数用于减少
count的值,但是在刚开始部署合约的时候,不能先调用此函数 - 因为在
Solidity 8.0版本之后,如果溢出,会将交易回滚,显示交易失败 - 溢出的问题,会在003-值类型中,讲解数值变量的范围