「Solidity极简入门第一课」: HelloWeb3 (三行代码)

原文标题:《Solidity 极简入门:1. HelloWeb3 (三行代码)》

作者:0xAA  

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

所有代码开源在:github: github.com/AmazingAng/WTFSolidity

Solidity 简述

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

Solidity 具有两个特点:

– 基于对象:学会之后,能帮你挣钱找对象。

– 高级:不会 solidity,在币圈显得很 low。

开发工具:remix

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

网址:remix.ethereum.org

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

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

remix 面板

第一个 Solidity 程序:

很简单,只有 1 行注释+3 行代码:  

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

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

1. 第 1 行是注释,会写一下这个代码所用的软件许可(license),这里用的是 MIT license。如果不写许可,编译时会警告(warning),但程序可以运行。solidity 的注释由「//」开头,后面跟注释的内容(不会被程序运行)。

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

2. 第 2 行声明源文件所用的 solidity 版本,因为不同版本语法有差别。

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

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

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

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

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

编译并部署代码

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

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

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

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

「Solidity极简入门第一课」: HelloWeb3 (三行代码)

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

总结

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

中文 solidity 资料推荐:

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

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

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 「Solidity极简入门第一课」: HelloWeb3 (三行代码)