Solidity 課程選讀
單純solidity課程(推薦)
Learn Solidity basics
https://www.youtube.com/watch?v=sngKPYfUgkc&list=PLvfQp12V0hS2PQd9-X-E2AjmXj1o05WOo&index=1
有程式基礎者建議部份跳過或快轉 (和其他程式語言非常類似)
各章節內容
part 1:IDE 介紹(Remix),註釋寫法
part 2:基礎變數類型
part 3:local and global variable
變數權限
function
part 4 :Operator
- Arithmic
- Assigment
- Comparison
- Logical
- Condition
part 5: Unit (特殊的小數點系統(wei,gwei…),時間格式)
part 6: Logic
mapping, array, enum
part 7: struct, data location
- storage(直接接觸區塊鏈資料)
- memory(內存)
- calldata(unchangable)
function type
part 8: validate data
part 9: More about contract
- modifier(for reuse)
- event(for listen)
- constructor
- inharitance
part 10: interface, pay for contract (recieve, fallback),send ether to user(transfer, send, call)
part 11: call other contract
part 12: solidity patterns
設計模式是為了解決程式語言的缺陷
參考資料:Solidity Patterns(0.4.20)
Behavior Patterns
- Guard Check
- State Machine
- Oracle
- Randomness
Security Patterns
- Access Restriction
- Checks Effects Interactions
- Security Ether Transfer
- prefer to use call (如果呼叫其他合約,用transfer,send可能會gas不足)
- Pull over Push
- 不要把錢匯到用戶錢包,而是幫他們存起來,讓他們自己來拿
- Emergency Stop
Upgradebility Pattern
- Proxy Delegate
- 用代理合約來和實際使用的合約交流,更新合約時把影響用戶使用的變化降到最低
- Eternal Storage
Economic Patterns (節省gas fee)
- String Equality Comparison
- Tight Variable Packing
- 相同type的變數擺在一起 -> compile 方便, code 乾淨
- Memory Array Building
中文(台灣)
https://www.youtube.com/watch?v=z2FEikbDqoA&list=PLHmOMPRfmOxSJcrlwyandWYiuP9ZAMYoF
中文(中國)
https://www.youtube.com/watch?v=3sfknquTwXs&list=PLu3xEteHmEJDHVhCbJSl69dDGVS30WXGx&index=4
其他 Solidity 線上課程(較深且參雜其他主題)
Loom 創辦的 Solidity 學習網站,從入門教到zkSynk,包跨web3.js,部署合約,chainlink預言機
課程內容很全面,全英文,有點像答題網站,沒有自己做專案的感覺,適合有其他程式基礎的人快速上手
freeCodeCamp 在 YT 上的免費教學影片,總長度16小時,從零基礎教到能自己搭建簡單的Dapp,講解得很詳細,全英文
有手把手操作,新手友善,且跟著影片可以學到除了程式以外的(編輯器,套件,部署)
課程包含
- solidity 合約
- js dapp網頁
- python dapp網頁
- NFTs
- Full Stack Defi
- Defi & Aave
- ERC20s, EIPs, and Token Standards
最硬的方法,能建構最全面的知識
w3schools 式的,沒有實做,純文件教學
也能當資料查詢的地方
鐵人賽
Smart Contract 實戰教學(影片+文章)
Smart Contract 開發 - 使用 Solidity
區塊練起來-智能合約與DApp開發
依據主題有不同內容,30篇教學文章,寫的都蠻不錯的
全中文,而且如果有問題,應該都找的到作者提問
要錢:2850
公鏈辦hackthon 和 bootcamp 的地方
和世界各地的人一起學習solidity,或各種技術
通常是好幾周的課程,每天會花可能1-2小時(或是每週),用Zoom上課
然後會出作業,課程結束有些有黑客松,有些有就業媒合
可以貼近實戰的學習,並且有老師和同學一起討論
缺點就是可能時間和進度不好調配(畢竟是配合別人)
補充資料
怎麼學智能合約