花 2 分钟在 Web3 的世界中写下第一行 HelloWorld

简介: 花 2 分钟在 Web3 的世界中写下第一行 HelloWorld

要说如今互联网中最大的变数,毫无疑问就是 Web3。

不管是互联网大厂,还是互联网独角兽,都在 Web3 的市场存在大量空缺。


Web3 的市场


先来看两张图。

image.png

\

image.png

它们来自于我的朋友圈某位猎头。

从我的朋友圈中一些招聘上就可以看出来,尽管 2022 年的全球资本进入了寒冬期,但 Web3 的市场还处于蓝海期。

很多人想入门 Web3,但是又不知道该如何入门 Web3。

所以我打算写一些 Web3 开发相关的文章。

这篇文章适合那些从来没有写过 Web3 但又想体验一下 Web3 代码该如何写的新手,通过阅读本文,你可以在 Web3 的世界里写下一个 HelloWorld 程序。


编程语言 Solidity


实际上 Web3 的范围很大,文中所指的,是用 Solidity 语言编写一个 ETH 的程序。

Solidity 是一种编程语言,是 Web3 首选语言。


代码编辑器 Remix


大家在写 Web2 程序时,通常喜欢使用 VSCode 这类 IDE 在本地编写。与传统的 Web2 不一样,Web3 的代码编辑器 remix 是一个云端 IDE。我们可以通过 remix 在浏览器中编写代码。

打开之后是这个样子。

image.png


编写 HelloWorld.sol 代码


默认情况下 remix 已经帮我们创建了一些模板文件。

我们创建一个新的 HelloWorld.sol 文件。sol 是 Solidity 语言所对应的文件后缀。

image.png

然后以下编写代码,solidity 的语法并不复杂,和主流编程语言很像。


// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.7;
contract MyContract {
    string public hello = "Hello World";
}

我简单的解释一下它们的作用。

第一行是一句注释,表示采用 GPL-3.0 许可证。

第三行是指定 solidity 的版本,solidity 和 npm 的一样采用 semver 版本规范。

第五行是声明了 contract,它和传统语言中的 class 很相似。

第六行在 MyContract 中声明了一个公开的 hello 字段。


编译


使用 solidity 编写的代码也需要编译。

最新版本的 remix 在文件保存后自动编译。

在 remix 左侧菜单栏的第三个按钮就是编译相关的设置。

我们不需要修改任何设置,点击 Compile HelloWorld.sol 即可。

编译成功后图标上会有一个绿色的对号。

image.png


部署


Remix 的强大之处在于它不仅仅将代码编辑器搬到了浏览器中,而且还集成了编译和部署的能力。基本上所有的事情都可以通过 Remix 在线完成。

右侧菜单栏第四个图标是部署相关的配置。

我们不需要修改任何参数,点击橙色按钮 Deploy 就可以了。

image.png


测试


部署成功后,在 Deployed Contracts 中会有一个地址。

我们点开它,然后有一个 hello 按钮,再点击这个按钮,就可以看到它所对应的字符串“hello world”了。

image.png



相关文章
|
7月前
|
前端开发 JavaScript
【Web 前端】new操作符具体都干了什么?
【4月更文挑战第22天】【Web 前端】new操作符具体都干了什么?
|
7月前
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
|
XML 数据格式
web.xml中的web-app中配置信息顺序出错解决办法
web.xml中的web-app中配置信息顺序出错解决办法
133 0
|
Java Go Maven
使用GoLand来开始你的第一个Gin Web项目吧
使用GoLand来开始你的第一个Gin Web项目吧
1005 0
使用GoLand来开始你的第一个Gin Web项目吧
|
数据可视化 Go 索引
Go Web 编程入门:创建动态 HTML 和文本文件
之前的文章学过把模板和视图分离,建立一个 Web 服务器来展现 HTML 模板。我们将学习如何使用 Go 的模板包创建动态 HTML 和文本文件。
|
Java Spring
使用springboot开发的第一个web入门程序的实现
使用springboot开发的第一个web入门程序的实现
使用springboot开发的第一个web入门程序的实现
|
SQL 安全 关系型数据库
BUUCTF Web [强网杯 2019]随便注
[强网杯 2019]随便注 一、题目简介
446 0
BUUCTF Web [强网杯 2019]随便注
|
Web App开发 Java 应用服务中间件