貢獻者: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,成為一名優秀的智能合約開發者!