banner
Crypto Chasers

Crypto Chasers

A DAO helping new Web3 projects and users grow.

优质教育资源推荐 —— Solidity初级篇

solidity

贡献者: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 项目,需要设计合约、编写测试、前端和合约交互。 HardhatFoundry 按需选择
  • 想要成为专业智能合约工程师,建议直接学习 Foundry

教程推荐#

 Blockchain Developer, Smart Contract, & Solidity Course | Foundry Edition 2023#

系统型教程,区块链基础知识、前端开发、审计等都有涉及。我推荐这个教程的原因是,它的视频很新,重点介绍了当前非常流行的 Foundry,从安装到审计,每个步骤的细节都有涉及,而且还在 GitHub 上提供了配套的文字索引。这个教程既适合新手跟着操作,也适合用来查缺补漏。但它的缺点是视频内容太长了,总共接近 30 小时。

Ethereum Developer Degree by LearnWeb3#

系统型教程,由 LearnWeb3 DAO 编写,内容偏向完整项目开发。我推荐这个教程的原因是它以项目实践为主,难度逐步提升,对重点知识进行了非常清晰的讲解,并通过问答形式检验你是否真正理解了这些知识。还附带了 React、Nextjs、IPFS 等开发项目所需的内容。我很喜欢它的 Senior 章节进阶内容,教学了不少 EVM 重点知识。另外近期上线了新版网站,有经验值、NFT、排行榜等元素来激励学习。
但它的缺点是没有配套的视频教程,部分新手可能在安装开发环境时会遇到困难。

Ethereum Developer Bootcamp by alchemy#

系统型教程,由 Alchemy 制作,内容偏向 Solidity 本身(他们还有 Road to web3 的系列,更偏开发项目),自带网页编辑器。复杂内容解释非常详细,通常还带有图表,包含很多扩展内容。部分内容较难,通关任务项目也有一定难度。
但这个教程的缺点是其视频不在 YouTube 上,因此无法提供中文翻译,需要一定英文水平的学生来学习。

Solidity by Example#

知识点型的教程,它详细列出了 Solidity 的各种语言特性、典型的合约设计、黑客攻击以及 DeFi 模型,并配以 Remix 的案例进行讲解。

WTF-Solidity#

知识点型教程,和 Solidity by Example 类似,中文作者编写,知识点讲得更细。缺点是涉及内容过多,切分得太细,不太适合浏览。

Free Solidity Tutorial#

知识点型教程,该教程专为有经验的程序员设计,尽可能保持简短,只讲重点。项目实践的章节和配套视频。缺点是不适合新手。

总结#

我当初学习 Solidity,当时还没有上面这些优秀教程,是付费参加 consensys bootcamp 2021 最终完成上线了一个 NFT 项目入的门。随后通过不断参加合约审计和小项目开发,逐渐补全了知识点。

我个人建议的学习方式是先完成一个系统型教程,然后通过做项目进行知识的巩固,如果在这个过程中遇到不懂的地方,再进行查缺补漏。对于已经非常熟悉 Web3 的学员,也可以选择直接阅读知识点型的教程。

我祝愿你能早日学会 Solidity,成为一名优秀的智能合约开发者!

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。