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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。