智慧型契約技術與開發

《智慧型契約技術與開發》是2022年清華大學出版社出版的圖書,作者是江海、熊麗兵、段虎。

基本介紹

  • 中文名:智慧型契約技術與開發
  • 作者:江海、熊麗兵、段虎
  • 出版時間:2022年3月1日
  • 出版社:清華大學出版社
  • ISBN:9787302595847
  • 定價:59 元
內容簡介,目錄,

內容簡介

本書是區塊鏈智慧型契約開發中級教材的上冊,主要介紹了智慧型契約平台部署和智慧型契約開發環境搭建,Solidity編程等相關知識。全書共分8章,內容包括區塊鏈智慧型契約開發概述、智慧型契約平台、智慧型契約開發測試與部署、Solidity編程基礎、Solidity高級編程、Solidity契約與實例、智慧型契約安全、以太坊虛擬機。本書可用於“1+X”證書制度試點工作中的區塊鏈智慧型契約開發職業技能等級證書教學和培訓,也適合作為套用型本科、職業院校、技師學院的教材,同時也適合作為從事區塊鏈智慧型契約開發的技術人員的參考用書。

目錄

第1章智慧型契約原理
1.1智慧型契約的定義
1.2為什麼需要智慧型契約
1.3智慧型契約的技術實現
1.4智慧型契約的模型
1.5智慧型契約的運行機制
第2章智慧型契約平台
2.1以太坊概述
2.2以太坊架構
2.3智慧型契約
2.4賬戶
2.5賬戶狀態
2.6以太坊虛擬機
2.7gas
2.8以太坊交易
2.8.1價值傳遞
2.8.2創建智慧型契約
2.8.3調用契約方法
2.9區塊
2.10以太坊客戶端
2.10.1geth安裝
2.10.2geth使用
2.11以太坊錢包
2.12以太坊網路
2.12.1主網網路
2.12.2測試網路
2.12.3私有網路、開發者模式
2.12.4模擬區塊鏈網路
2.12.5以太坊貨幣單位
2.13以太坊歷史回顧
2.13.1奧林匹克
2.13.2邊疆
2.13.3家園
2.13.4DAO分叉
2.13.5拜占庭
2.13.6君士坦丁堡
2.13.7伊斯坦堡
2.13.8以太坊2.0
第3章智慧型契約的開發、測試與部署
3.1什麼是智慧型契約
3.2Remix
3.2.1基礎模組
3.2.2典型模組
3.2.3單元測試
第4章Solidity編程基礎
4.1Solidity中的變數
4.1.1狀態變數
4.1.2局部變數
4.1.3全局變數
4.1.4Solidity變數名
4.2Solidity數據類型
4.2.1值類型
4.2.2引用類型
4.2.3類型轉換
4.3函式調用
4.3.1參數
4.3.2返回值
4.3.3函式可見性
4.3.4狀態可變性(mutability)
4.4變數的作用域
4.5控制結構
4.6契約
4.6.1可見性
4.6.2構造函式
4.6.3使用new創建契約
4.6.4constant狀態常量
4.6.5immutable不可變數
4.6.6view()函式
4.6.7pure()函式
4.6.8getter()函式
4.6.9receive()函式
4.6.10fallback()函式
4.6.11函式修改器
4.6.12函式重載
4.6.13事件
4.7錯誤處理及異常
4.7.1錯誤處理函式
4.7.2require()還是assert()
4.7.3try/catch
4.8Solidity全局變數及API
4.8.1區塊和交易屬性API
4.8.2ABI編碼及解碼函式API
4.8.3數學和密碼學函式API
第5章Solidity高級編程
5.1契約繼承
5.1.1多重繼承
5.1.2父契約構造函式
5.1.3抽象契約
5.1.4函式重寫
5.2接口
5.3庫
5.3.1內嵌庫
5.3.2程式庫
5.3.3using for
5.4應用程式二進制接口
5.4.1ABI編碼
5.4.2函式選擇器
5.4.3參數編碼
5.4.4通過ABI編碼調用函式
5.4.5ABI接口描述
5.5gas最佳化
5.5.1變數打包
5.5.2選擇適合的數據類型
5.5.3記憶體和存儲
5.5.4減少存儲
5.5.5其他建議
5.6使用內聯彙編
5.6.1彙編基礎概念
5.6.2Solidity中引入彙編
5.6.3彙編變數定義與賦值
5.6.4彙編中的塊和作用域
5.6.5彙編中訪問變數
5.6.6for循環
5.6.7if判斷語句
5.6.8彙編switch語句
5.6.9彙編函式
5.6.10元組
5.6.11彙編缺點
第6章Solidity契約
6.1OpenZeppelin
6.2SafeMath安全算數運算
6.3地址工具
6.4ERC165接口實現
6.5ERC20代幣
6.5.1標準ERC20實現
6.5.2WETH實現
6.6ERC777功能型代幣
6.6.1ERC1820接口註冊表
6.6.2ERC777標準
6.6.3ERC777實現
6.6.4實現Hook函式
6.7ERC721
6.7.1ERC721代幣規範
6.7.2ERC721實現
第7章智慧型契約的安全性
7.1安全事件
7.2安全原則
7.3已知的經典漏洞攻擊方法
7.3.1重入攻擊
7.3.2算術溢出
7.3.3delegatecall導致意外代碼的執行
7.3.4未檢查返回值
7.3.5拒絕服務
7.3.6錯誤命名構造函式
7.4總結
第8章以太坊虛擬機
8.1什麼是以太坊虛擬機
8.1.1概述
8.1.2賬號
8.1.3交易
8.1.4gas
8.1.5存儲、主存和棧
8.1.6指令集
8.1.7訊息調用
8.1.8代理調用/代碼調用和庫
8.1.9日誌
8.1.10創建契約
8.1.11移除契約
8.2EVM工作原理
8.2.1EVM解釋執行流程
8.2.2創建契約流程
8.2.3調用契約流程
8.2.4Solidity編譯為EVM位元組碼
8.3EVM指令集
8.3.1算術運算指令
8.3.2位移運算指令
8.3.3比較操作指令
8.4gas
8.4.1執行階段的gas計量
8.4.2gas計量原則
8.4.3gas消耗和gas價格
8.4.4區塊的gas限制
8.5WASM拓展
8.5.1什麼是WASM
8.5.2WASM的特點
8.5.3WASM的優勢
8.5.4WASM有哪些對開發者友好的特點
8.5.5WASM在大型項目中的套用
參考文獻

相關詞條

熱門詞條

聯絡我們