贡献者:Script Money
全栈工程师,熟悉 Web3 开发生态,编写过一些技术教程
本文是 CryptoChasers 出品的 Web3 优质教育资源推荐的第二期 ——Solidity 初级篇。Solidity 是一种专门用于编写以太坊智能合约的编程语言,本文适用于希望学会 Solidity 基础的程序员,如果不会编程的新手,推荐阅读「优质教育资源推荐 —— 编程基础篇」。所有教程均可免费访问。
主流开发工具#
开发工具用于合约编译、测试、部署,不同教程使用的开发工具不同,主要程度不亚于 Solidity 本身。因此,我将先为你介绍 Remix、Hardhat 和 Foundry 这三款主流的开发工具,以及它们各自的适用范围。
Remix、 Hardhat、Foundry 是当下最主流的 Solidity 智能合约开发工具:
- Remix https://remix.ethereum.org/ 是一个网页编辑器,即开即用,不需要本地安装依赖,适合新手学习 Solidity 的知识点,快速实现原型、测试和部署。
- Hardhat https://hardhat.org/ 需本地安装,用 JavaScript 编写执行测试和任务,有很多插件,适用范围广。
- Foundry https://book.getfoundry.sh/ 需本地安装,用 Solidity 编写测试和任务,运行效率高。当下很多合约库都由 Foundry 编写。
从学习需求来看,
- 想要读懂他人部署的 Solidity 合约,可能要复制部署到本地测试,用Remix足够
- 需要写代码批量与线上的智能合约交互 ,建议使用 Hardhat
- 目标是开发简单的 Web3 项目,需要设计合约、编写测试、前端和合约交互。 Hardhat 和 Foundry 按需选择
- 想要成为专业智能合约工程师,建议直接学习 Foundry
教程推荐#
Blockchain Developer, Smart Contract, & Solidity Course | Foundry Edition 2023#
- 网站: https://github.com/Cyfrin/foundry-full-course-f23
- 工具:Remix + Foundry
- 语言:英文
- 内容:视频 + 文字索引
系统型教程,区块链基础知识、前端开发、审计等都有涉及。我推荐这个教程的原因是,它的视频很新,重点介绍了当前非常流行的 Foundry,从安装到审计,每个步骤的细节都有涉及,而且还在 GitHub 上提供了配套的文字索引。这个教程既适合新手跟着操作,也适合用来查缺补漏。但它的缺点是视频内容太长了,总共接近 30 小时。
Ethereum Developer Degree by LearnWeb3#
- 网站: https://learnweb3.io/degrees/ethereum-developer-degree/
- 工具:Remix + Hardhat
- 语言:英文
- 内容:文字 + 问答
系统型教程,由 LearnWeb3 DAO 编写,内容偏向完整项目开发。我推荐这个教程的原因是它以项目实践为主,难度逐步提升,对重点知识进行了非常清晰的讲解,并通过问答形式检验你是否真正理解了这些知识。还附带了 React、Nextjs、IPFS 等开发项目所需的内容。我很喜欢它的 Senior 章节进阶内容,教学了不少 EVM 重点知识。另外近期上线了新版网站,有经验值、NFT、排行榜等元素来激励学习。
但它的缺点是没有配套的视频教程,部分新手可能在安装开发环境时会遇到困难。
Ethereum Developer Bootcamp by alchemy#
- 网站: https://university.alchemy.com/overview/ethereum
- 工具:Hardhat
- 语言:英文
- 内容:视频 + 文字 + 项目任务
系统型教程,由 Alchemy 制作,内容偏向 Solidity 本身(他们还有 Road to web3 的系列,更偏开发项目),自带网页编辑器。复杂内容解释非常详细,通常还带有图表,包含很多扩展内容。部分内容较难,通关任务项目也有一定难度。
但这个教程的缺点是其视频不在 YouTube 上,因此无法提供中文翻译,需要一定英文水平的学生来学习。
Solidity by Example#
- 网站: https://solidity-by-example.org/
- 工具:Remix
- 语言:英 / 中
- 内容:文字
知识点型的教程,它详细列出了 Solidity 的各种语言特性、典型的合约设计、黑客攻击以及 DeFi 模型,并配以 Remix 的案例进行讲解。
WTF-Solidity#
- 网站: https://www.wtf.academy/wtf.academy/solidity-start/
- 工具:Remix
- 语言:中 / 英
- 内容:文字
知识点型教程,和 Solidity by Example 类似,中文作者编写,知识点讲得更细。缺点是涉及内容过多,切分得太细,不太适合浏览。
Free Solidity Tutorial#
- 网站: https://www.rareskills.io/learn-solidity
- 工具:Remix + Foundry
- 语言:英文
- 内容:文字
知识点型教程,该教程专为有经验的程序员设计,尽可能保持简短,只讲重点。项目实践的章节和配套视频。缺点是不适合新手。
总结#
我当初学习 Solidity,当时还没有上面这些优秀教程,是付费参加 consensys bootcamp 2021 最终完成上线了一个 NFT 项目入的门。随后通过不断参加合约审计和小项目开发,逐渐补全了知识点。
我个人建议的学习方式是先完成一个系统型教程,然后通过做项目进行知识的巩固,如果在这个过程中遇到不懂的地方,再进行查缺补漏。对于已经非常熟悉 Web3 的学员,也可以选择直接阅读知识点型的教程。
我祝愿你能早日学会 Solidity,成为一名优秀的智能合约开发者!