Solidity-002-第一个App

98 阅读1分钟

背景

通过学习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-值类型中,讲解数值变量的范围