一、基本remix环境及HelloWord contract《2022 solidity8.+ 版本教程到实战》

2022-09-28 15:23:04 浏览数 (1)

这个系列是 solidity8. 版本的教程,既然学习了 solidity 就应该明白智能合约是啥,在此系列文章中将不赘述基础概念,只讲解对应的语法,希望读者理解。

环境

solidity 版本:8. (2022年9月8日 最新版本) IDE:https://remix.ethereum.org/(在线IDE)

一、solidity IDE界面介绍

以下图片时 solidity 智能合约开发的在线 IDE remix:

点击 greate 可以创建自己的一个工程,并且默认自带了 contracts、scripts以及tests 目录:

此时我们可以点击对应的按钮新建文件夹或者新建一个文件:

读者可尝试用鼠标悬停与按钮之上查看对应的信息,在此我点击tests目录下,在tests目录下创建一个01_test.sol 文件,sol 后缀表示 solidity 文件:

创建完毕后可在右侧自动打开的 sol 文件中进行代码编写。

二、代码编写

协议

在代码编写的第一行一般是协议说明,在此咱们使用其他 sol 文件中的协议说明:

代码语言:javascript复制
// SPDX-License-Identifier: GPL-3.0

在这里使用的协议是 GPL-3.0,关于协议的声明是使用注释表示,想了解更多协议的直接搜索相关知识即可。

版本

接下来编写对应solidity 的版本号:

代码语言:javascript复制
pragma solidity >=0.7.0 <0.9.0;

pragma solidity 表示声明的版本号信息,在此说明版本信息是大于等于 0.7. 版本和小于 0.9.0 版本,又可直接指定版本信息:

代码语言:javascript复制
pragma solidity 0.8.16;

也可添加 ^ 表示此合约是在该版本之上:

代码语言:javascript复制
pragma solidity ^0.8.0;
合约

接着是编写合约部分:

代码语言:javascript复制
contract Hello{
    
}

其中 contract 表示定义一个合约,Hello 为合约名,其花括号包裹的内容为合约内容。接着我们在合约内部创建一个对应的 string 对象:

代码语言:javascript复制
string public say="Hello 1_bit";

此时 string 表示当前需要创建的变量类型,public 表示当前类型的作用范围,public 表示外部可见,其 say 是变量名称,之后的等于号表示赋值,则 剩下的 Hello 1_bit 表示其内容,用双引号标记。

此时所有代码如下:

代码语言:javascript复制
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract Hello{
    string public say="Hello 1_bit";
}

三、编译部署

接着我们点击编译:

点击编译后,可以看到有版本号选择:

选择 sol 代码中所指定的对应版本信息进行编译,接着点击编译后将会出现 绿色√ 表示编译通过:

最后点击 Deploy 部署合约:

部署成功后将会看见成功部署的提示,并且在 Deployed Contracts 下会出现已成功部署的合约:

此时展开合约查看,可见 say 变量:

点击 say 变量后可查看对应的 say 存储中的内容:

不过需要注意,在合约中字符串变量存储过多内容会影响 Gas 消耗。

若在 contract 中删除 public :

部署合约后 say 将不可见。

0 人点赞