貢獻者:Script Money
全棧工程師,熟悉 Web3 開發生態,編寫過一些技術教程
本文是 CryptoChasers 出品的 Web3 優質教育資源推薦系列的第四期 ——Solidity 中級篇。上一篇「優質教育資源推薦 —— Solidity 初級篇」旨在幫助開發者看懂和編寫簡單合約。中級篇的目的是讓讀者理解 EVM (以太坊虛擬機) 原理,熟悉 assembly (內聯彙編) 和 Opcodes (操作碼),並能看懂所有 Solidity 的語法。
推薦教程#
Solidity 官方文檔#
官方文檔提供了最新和最權威的內容。最近進行了一次 UI 升級,使得可讀性得到了很大提升(中文版仍使用舊版 UI)。所有內容都值得一讀。有些看不懂的部分可以先跳過。
Secureum Bootcamp 課件#
- 網站:Secureum Bootcamp Mindmap
- 語言:英文
- 內容:文字 + 視頻 + 問答
Secureum 訓練營的資料,內容涵蓋從以太坊基礎到 Solidity 再到審計,把值得注意的細節都列了出來,包含視頻、習題和參考資料。文章把知識點按 1、2、3... 列了幾百條,可以全面閱讀,會發現一些意想不到的新知識。
The EVM Handbook#
- 網站:The EVM Handbook
- 語言:英文
- 內容:索引
一些 EVM 相關的教材合集,官方文檔和 Secureum 也有一部分 EVM 相關內容,如果沒有搞清楚的話,可以先來看 EVM Handbook,包含其他開發者 EVM 相關教學。學習這部分重點是掌握以太坊虛擬機原理、堆棧操作、內存和存儲等內容。
Solady 源碼#
- 網站:solady
- 語言:英文
- 內容:代碼庫
基礎庫除了最著名的 OpenZeppelin 外,還有Solmate、Solady。OpenZeppelin 最常用,但是會消耗更多的 gas。Solmate 可以看作 OpenZeppelin 的簡化版。Solady 是用 assembly 重寫了常用的各種合約,用 opcodes 直接操作存儲,所以消耗 gas 最少。如果要加深 EVM 知識,你可以從 ERC20 開始,對照著其他兩個版本的同樣實現去學習。
總結#
深入學習 EVM 是掌握 Solidity 的必經之路,以上優秀資料能幫助你達到目標。接下來的高級篇會介紹 Solidity 相關的審計、黑客攻防和 CTF 的優秀資源,敬請期待。