區塊鍊與智慧合約基礎實務
(The fundamental of blockchain and smart contract)
課程內容
區塊鍊簡介
去中心化
PKC (Public Key Cryptography)
Hash演算法
區塊鍊意圖解決的問題
Wallet錢包
Ethereum簡介
Ethereum發展史
Ether的單位
帳戶,交易與訊息
Ethereum端點的種類
智慧合約與solidity
使用Remix開發
Solidity不同版本之間的相容性
storage與memoey的類型
message呼叫
Solidity語法
基本型態
變數與全域變數
權限修飾子
字串與陣列
struct與mapping
函數
函數修飾子
view函數與pure函數
合約實作
在web介面下的remix編譯
合約的部署
gas與交易的花費
Mnemonic助記詞
多帳戶之間的互動
Ethereum與Truffle框架
Truffle,Ganache與Drizzle
Truffle功能
Truffle與Javascript的互動
IDE的設定
Truffle實務
合約撰寫與編譯
版本選擇的考量
Mocha的測試框架
Mocha測試框架的目錄結構與呼叫機制
使用npm來執行
簡化重複的呼叫
TDD/BDD的方式撰寫測試程式
非同步的取得結果
取得web3的實例
web3與合約互動
Truffle範例程式碼解說
Ethereum與payable
在合約中作ether的傳送
增加權限控管
Truffle的部署
執行時例外的處理
Ethereum與HardHat框架