智能合约
一、编辑器
二、版本选择
代码
pragma solidity 0.8.8;
在代码前方加上^代表可以支持当前solidity版本及以上版本运行
pragma solidity ^0.8.8;
三、定义智能合约
代码
contrat
contrat 是 Solidity 的关键字,它告诉编译器后面的代码是用来定义智能合约的。
这样就是一个完整的智能合约了。
四、数据类型
四种基础数据类型
boolen
uint
int
address
bytes()
-
boolen
true和falsebool x = true;
bool x = false; -
uint
无符号整数,表示这个数字只能是正整数,可分配空间。uint x = 1;
uint
可以写成uint8
uint256
默认为256uint256 x = 1;
-
int
同C,同样可以分配空间。 -
address
地址address myaddress = 0x1066……
-
string
同C
五、方法 Function
在Solidity中,函数和变量有四种可见度标识符
1.public
内外可见,本质是创建了一个getter方法,所以我们可以看到蓝色按钮返回值。
类似以下函数:
效果
2.private
只有合约可以读取这个值(私有)
3.external
只对外可见
4.interal
只有合约或者继承它的合约可以读取。(默认)
六、部署和发送交易区域(测试)
成功部署后,会出现一下内容,每个智能合约都有一个地址如下
部署后建议把地址复制到代码中
在这里可以传一些数据,需要支付gas
点击store后可以看到,账号中的eth发生了变化,用于支付gas。
现在有个问题,我们传递了参数,但是看不到,这是因为目前变量被设置为了private(私有的)
将变量改成
uint256 public x;