第 1 章 基本介紹 Introduction
智能合約
Solidity
環境建置 Remix IDE
版本控制
Hello World & First Contract
Practice
Answer
第 2 章 型別 Types & 變數 Variables
Integer
Bool
Address
Contract & This
String
Scope
Practice
Answer
第 3 章 單位 Unit & 運算子 Operators
Time
運算子
Practice
Answer
第 4 章 流程控制 Selection and Repetition
If-Else
For
While
Practice
Answer
第 5 章 函式 Function
Returns
Visibility
stateMutability
Constructor
Function Overloading
Fallback
Practice
Answer
第 6 章 資料結構 Data Structures
Array
Mapping
Structs
Enum
Practice
Answer
第 7 章 角色和全局訊息 Global Variables
Msg
Block
ABI
TX
Practice
Answer
第 8 章 記憶體配置 Memory Allocation
Call by Reference vs. Call by Value
Data Locations - Storage, Memory and Calldata
Practice
Answer
第 9 章 異常處理Handling Exception
Require
Assert
Revert
Try/Catch
Practice
Answer
第 10 章 事件 Event
emit
Indexed
web3.eth.subscribe()
Logs with Data & Topics
anonymous
第 11 章 繼承 Inheritance
Inheritance
Modifier
合約互動
Function Overriding
Polymorphism
多重繼承與 super
Practice
Answer
第 12 章 介面Interface
抽象合約
第 13 章 引用 Imports & 函式庫 Libraries
Library
Import
OpenZeppelin
Practice
Answer
第 14 章 ERC & Token
ERC-20 Fungible Tokens
ERC-721 Non-Fungible Tokens
ERC-1155 Semi-Fungible Tokens
ERC-20 Example - YFI
ERC-721 Example - BAYC
Practice
Answer
第 15 章 佈署 Deploy & 編譯 Compiler
編譯到佈署
ABI(Application Binary Interface)
EVM
第 16 章 開發工具Dev. Tools
RPC & RESTful API
客戶端:Ganache
Web3.js
Go-ethereum
Truffle 與測試
Practice
Answer
第 17 章 最佳化合約Contract Optimization
Space Complexity Level
Time Complexity Level
Contract Level
|OTHERS| Information & Reference
結語
參考資料