【从0学习Solidity】合约入门 Hello Web3

【学习Solidity的基础】入门智能合约开发 Hello Web3

?不写代码没饭吃上架主页
在这里插入图片描述

在强者的眼中,没有最好,只有更好。我们是全栈开发领域的优质创作者,同时也是阿里云专家博主。
✨ 关注我们的主页,探索全栈开发的无限可能!
?我们与您分享最新的技术洞察和实战经验,助您在移动应用开发领域取得成功。
?欢迎访问我们的微信公众号:不写代码没饭吃,获取更多精彩内容、实用技巧、行业资讯等。您关注的是我们前进的动力!
?我们还担任阿里云专家博主的角色,为您提供更深入的技术指导和解答疑点。
?期待与您一起在移动开发的世界中,不断进步和创造!

Solidity 简介

Solidity 是一种编程语言,用于编写以太坊虚拟机(EVM)智能合约。掌握 Solidity 是参与区块链项目的必备技能,因为大部分区块链项目都是开源的。如果能够理解代码,就能够避免许多亏钱的项目。

Solidity 具有以下两个特点:

  1. “基于对象”:学会 Solidity 可以帮助你在区块链领域找到好的工作机会,从而实现挣钱和结识新伴侣。
  2. “高级”:不熟悉 Solidity 在加密货币领域可能显得不够专业。

开发工具:Remix

在本教程中,我们将使用 Remix 来运行和测试 Solidity 合约。Remix 是以太坊官方推荐的智能合约集成开发环境(IDE),适合新手使用。通过在浏览器中使用 Remix,你可以快速开发和部署合约,无需在本地安装任何软件。

网址:https://remix.ethereum.org ↗

Remix 中,左侧菜单栏有三个按钮,分别对应文件(用于编写代码)、编译(用于运行代码)和部署(将合约部署到区块链上)。点击“创建新文件”按钮(Create New File),即可创建一个空白的 Solidity 合约。

在这里插入图片描述

编写第一个 Solidity 程序

这个简单的程序只包含 1 行注释和 3 行代码:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract HelloWeb3 {
    string public _string = "Hello Web3!";
}

我们来逐行解析这段代码,学习 Solidity 源文件的结构:

  1. 第 1 行是注释,用于说明代码所使用的软件许可证(license),这里使用的是 MIT 许可证。如果不写许可证,编译时会出现警告(warning),但程序仍然可以运行。Solidity 的注释以“//”开头,后面跟着注释内容。这些注释不会被程序执行。
  // SPDX-License-Identifier: MIT
  1. 第 2 行声明了源文件所使用的 Solidity 版本,因为不同版本的语法有所差异。这行代码表示源文件只能使用 0.8.4 版本的编译器进行编译(第二个条件由 ^ 提供)。Solidity 的语句以分号(;)结尾。
 pragma solidity ^0.8.4;
  1. 第 3-4 行是合约部分。第 3 行创建了一个合约(contract),并将其命名为 HelloWeb3。第 4 行是合约的内容,声明了一个公共的字符串变量 _string,并将其赋值为 “Hello Web3!”。
contract HelloWeb3 {
    string public _string = "Hello Web3!";
}

接下来,我们将更详细地介绍 Solidity 中的变量。

编译和部署代码

Remix 的代码编辑页面中,按下 Ctrl + S 即可对代码进行编译,非常方便。

编译完成后,点击左侧菜单栏的“部署”按钮,进入部署页面。

在这里插入图片描述

默认情况下,Remix 会使用 Remix 虚拟机(之前称为 JavaScript 虚拟机)来模拟以太坊链,以运行智能合约。这类似于在浏览器中运行一个测试链。Remix 还会为你分配一些测试账户,每个账户中都有 100 ETH(测试代币),你可以自由使用。点击“Deploy”(黄色按钮),即可部署我们编写的合约。

在这里插入图片描述

部署成功后,你会在下方看到名为 HelloWeb3 的合约。点击 _string,即可看到显示的内容为 “Hello Web3!”。

总结

本节课程中,我们简要介绍了 SolidityRemix 工具,并完成了第一个 Solidity 程序 —— HelloWeb3。接下来,我们将继续深入学习 Solidity