# Solidity极简入门 | 第一讲：HelloWeb3 (三行代码)

By [Crypto AAA](https://paragraph.com/@crypto-aaa) · 2022-07-24

---

如果你能读懂代码，能帮你规避很多亏钱项目。 原文标题：《 Solidity 极简入门:1. HelloWeb3 (三行代码) 》 原文来源：0xAA

我最近在重新学 solidity，巩固一下细节，也写一个「Solidity 极简入门」，供小白们使用（编程大佬可以另找教程），每周更新 1-3 讲。

所有代码开源在：github: [github.com/AmazingAng/WTFSolidity](http://github.com/AmazingAng/WTFSolidity)

Solidity 简述

Solidity 是以太坊虚拟机（EVM）智能合约的语言。同时，我也觉得 solidity 是玩链上项目必备的技能：区块链项目大部分是开源的，如果你能读懂代码，能帮你规避很多亏钱项目。

Solidity 具有两个特点：

*   基于对象：学会之后，能帮你挣钱找对象。
    
*   高级：不会 solidity，在币圈显得很 low。
    

开发工具：remix

本教程中，我会用 remix 来跑 solidity 合约。remix 是以太坊官方推荐的智能合约开发 IDE，适合新手，可以在浏览器中快速部署测试智能合约，你不需要在本地安装任何程序。

网址：[remix.ethereum.org](http://remix.ethereum.org)

进入 remix，我们可以看到最左边的菜单有三个按钮，分别对应文件（写代码的地方），编译（跑代码），部署（部署到链上）。我们点新建（Create New File）按钮，就可以创建一个空白的 solidity 合约。

remix 面板

第一个 Solidity 程序：

很简单，只有 1 行注释+3 行代码：

我们拆开分析，学习 solidity 代码源文件的结构：

1.  第 1 行是注释，会写一下这个代码所用的软件许可（license），这里用的是 MIT license。如果不写许可，编译时会警告（warning），但程序可以运行。solidity 的注释由「//」开头，后面跟注释的内容（不会被程序运行）。
    
2.  第 2 行声明源文件所用的 solidity 版本，因为不同版本语法有差别。
    

这行代码意思是源文件将不允许低于 0.8.4 版本的编译器编译。

1.  第 3-4 行是合约部分，第 3 行创建合约（contract），并声明合约的名字 HelloWeb3。第 4 行是合约的内容，我们声明了一个 string（字符串）变量\_string，并给他赋值「Hello Web3!」。
    

以后我们会更细的介绍 solidity 中的变量。

编译并部署代码

在编辑代码的页面，按 ctrl+S 就可以编译代码，非常方便。

编译好之后，点击左侧菜单的「部署」按钮，进入部署页面。

在默认情况下，remix 会用 JS 虚拟机来模拟以太坊链，运行智能合约，类似在浏览器里跑一条测试链。并且 remix 会分配几个测试账户给你，每个里面有 100 ETH（测试 Token），可劲儿用。你点 Deploy（黄色按钮），就可以部署咱们写好的合约了。

部署成功后，你会在下面看到名为 HELLOWEB3 的合约，点击\_string，就能看到我们代码中写的「Hello Web3!」了。

总结

第一讲，我们简单介绍了 solidity，remix 工具，并完成了第一个 solidity 程序--HelloWeb3。接下来我们会介绍 solidity 的各种变量类型。

中文 solidity 资料推荐：

Solidity 中文文档（官方文档的中文翻译）：[https://solidity-cn.readthedocs.io/zh/develop/introduction-to-smart-contracts.html](https://solidity-cn.readthedocs.io/zh/develop/introduction-to-smart-contracts.html)

崔棉大师 solidity 教程（web3 技术教学博主，我看他视频学到了很多）： [https://space.bilibili.com/286084162](https://space.bilibili.com/286084162)

[原文链接](https://mirror.xyz/ninjak.eth/WfM30QbSWB2_-9t98g05unTmb_2ZXucOAZMPDa7MX48)

---

*Originally published on [Crypto AAA](https://paragraph.com/@crypto-aaa/solidity-helloweb3)*
