區塊鏈智能合約
黃立群,鄭宇,黃曉濤
- 出版商: 電子工業
- 出版日期: 2022-07-01
- 定價: $432
- 售價: 8.5 折 $367
- 語言: 簡體中文
- 頁數: 380
- ISBN: 7121439093
- ISBN-13: 9787121439094
-
相關分類:
區塊鏈 Blockchain
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
資訊與網路安全概論:進入區塊鏈世界, 6/e$780$741 -
$414區塊鏈開發實戰:以太坊關鍵技術與案例分析 -
以太坊智能合約開發實戰$714$678 -
$403區塊鏈 DAPP 開發入門、代碼實現、場景應用 -
$301乙太坊 Solidity 智慧合約開發 -
$454區塊鏈以太坊 App 錢包開發實戰 -
$280區塊鏈重構規則 -
$505區塊鏈 DApp 開發:基於以太坊和比特幣公鏈 -
$374區塊鏈應用指南:方法與實踐 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
$301智能合約技術與開發 -
加密貨幣聖經:數位貨幣、數位資產、加密交易與區塊鏈的過去與未來$650$553 -
圖解區塊鏈的工作原理與機制$480$379 -
軟體架構師全方位提升指南|數位轉型企業中架構師角色的新定義 (The Software Architect Elevator: Redefining the Architect's Role in the Digital Enterprise)$580$458 -
Solidity 實戰全書:完整掌握智能合約!成為獨立開發 Dapp 的區塊鏈工程師$650$507 -
一本讀懂 Web3.0:啟動未來科技世界的關鍵技術區塊鏈、NFT、元宇宙和 DAO$600$468 -
$374區塊鏈原理、架構與應用, 2/e -
$281區塊鏈應用 -
大話設計模式:JAVA 風雲再起彩色加強版$880$695 -
精通區塊鏈開發技術, 2/e$894$849 -
$352區塊鏈技術基礎教程:原理、方法及實踐 -
Solidity 智能合約開發技術與實戰$516$490 -
第一次投資加密貨幣就上手 (Cryptocurrency Investing for Dummies)$520$411 -
第一次加密貨幣挖礦就上手, 2/e (Cryptocurrency Mining for Dummies, 2/e)$520$411 -
$422貫穿設計模式 — 用一個電商項目詳解設計模式
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書詳細而深入地介紹了區塊鏈技術和智能合約技術,包括算法、數據結構及相關學科的相關理論。本書介紹了基於以太坊的智能合約編程語言Solidity,結合以太坊虛擬機(EVM)的實現,討論了Solidity語句的匯編實現,介紹瞭如何應用Solidity來開發去中心化應用(DApp)、如何使用區塊鏈的去中心化存儲(IPFS)。同時,出於全面性和前瞻性的考慮,本書詳細介紹了智能合約的重要分支:基於超級賬本的鏈碼編程和智能合約編程的明日之星Web Assembly(WASM)編程技術。 本書可以作為高等學校區塊鏈工程與技術、電腦科學與技術、金融科技、商務智能等相關專業的教學參考書,也可作為區塊鏈從業人員和相關企事業單位技術人員的參考書。
作者簡介
黃立群
主持研究項目5項,參加自然科學基金、863項目和九五攻關項目各一項,參加其他科研項目12項。在《通信學報》《電子學報》《電子科學學刊》《華中理工大學學報》《計算機工程與應用》等刊物及國際會議上發表十篇論文。主要研究方向為計算機網絡技術與應用、移動計算、決策支持系統、嵌入式系統的研究。
目錄大綱
第1章區塊鏈概述 1
1.1 什麼是區塊鏈 1
1.2 區塊鏈歷史 2
1.3 區塊鏈的分類 5
1.4 區塊鏈解決的問題 6
1.5 區塊鏈技術概述 9
1.6 區塊鏈面臨的挑戰 10
1.6.1 安全性挑戰 10
1.6.2 效率挑戰 14
1.6.3 落地應用的有效性 15
1.6.4 區塊鏈發展的政策法規監管 15
習題1 15
第2章區塊鏈技術 17
2.1 區塊鏈的架構 17
2.2 哈希函數 18
2.3 密碼學算法 19
2.3.1 對稱加密算法 19
2.3.2 不對稱加密算法 21
2.3.3 國密 22
2.3.4 RSA 23
2.3.5 橢圓曲線算法家族 24
2.4 共識算法 26
2.4.1 拜占庭將軍問題 27
2.4.2 共識算法的兩個定理 27
2.4.2 共識算法的目的 28
2.4.3 工作量證明 29
2.4.4 權益證明 30
2.4.5 委託權益證明 31
2.5 博弈論 31
2.5.1 博弈論原理 32
2.5.2 博弈論在區塊鏈的應用 33
2.6 P2P算法 34
2.6.1 Gossip 35
2.6.2 Kademlia 37
2.7 數據結構及其算法 42
2.7.1 默克爾樹 42
2.7.2 布隆過濾器 44
習題2 46
第3章以太坊與智能合約 47
3.1 以太坊介紹 47
3.1.1 燃料 48
3.1.2 以太坊虛擬機 50
3.1.3 賬戶 50
3.2 以太坊關鍵數據結構及其算法 51
3.2.1 遞歸長度前綴編碼 51
3.2.2 梅克爾–帕特裡夏樹 52
3.3 智能合約介紹 57
3.3.1 智能合約的實現機制:虛擬機 57
3.3.2 智能合約的實現機制:容器 58
3.4 現有智能合約框架介紹 58
習題3 59
第4章Solidity編程 61
4.1 SOL文件結構 61
4.2 合約結構 64
4.3 變量類型 64
4.3.1 值類型 64
4.3.2 引用類型 66
4.3.3 字典 67
4.3.4 特殊情況 67
4.4 操作符 68
4.5 語句 69
4.5.1 條件語句 69
4.5.2 循環語句 70
4.5.3 其他 70
4.6 修飾符 70
4.6.1 修飾符說明 71
4.6.2 修飾符的區別 72
4.6.3 自定義修飾符 74
4.7 數據位置 75
4.8 事件 77
4.9 繼承 80
4.10 其他 81
4.10.1 類型轉換及推斷 81
4.10.2 異常 82
4.10.3 彙編 82
4.10.4 This關鍵字 84
習題4 84
第5章智能合約開發 86
5.1 智能合約開發的特點 86
5.2 智能合約的生命週期和開發週期 88
5.2.1 智能合約的生命週期 88
5.2.2 智能合約的開發週期 88
5.3 設計模式 89
5.3.1 工廠合約模式 90
5.3.2 映射疊代 90
5.3.3 名字登錄 91
5.3.4 回退模式 92
5.3.5 合約自毀 92
5.3.6 訪問限制 93
5.3.7 斷路器 94
5.3.8 狀態機 95
5.4 基礎算法 97
5.5 智能合約的安全 99
5.5.1 編程語言相關的攻擊 99
5.5.2 平臺相關的攻擊 107
5.5.3 重入攻擊 115
5.5.4 阻塞攻擊 116
5.6 智能合約最佳安全開髮指南 118
5.7 代碼審計 126
小結 126
習題5 126
第6章Solidity智能合約應用 127
6.1 可升級 127
6.1.1 升級智能合約要考慮的問題 127
6.1.2 智能合約升級方法 128
6.1.3 通用的代理模式 131
6.1.4 存儲升級 133
6.2 節省燃料 140
6.3 彙編代碼 147
6.3.1 棧 147
6.3.2 調用數據 148
6.3.3 內存 149
6.3.4 存儲 149
6.4 合約間調用 151
6.4.1 函數調用 151
6.4.2 依賴註入 152
6.4.3 消息調用 153
6.4.4 獲取合約間調用的返回值 156
6.5 ABI編程 158
6.5.1 內存結構 159
6.5.2 函數選擇子 159
6.5.3 類型定義 159
6.5.4 數據表示 160
6.5.5 編碼 165
6.6 運行原理 173
習題6 178
第7章去中心化應用 180
7.1 DApp概述 180
7.2 DApp架構 183
7.2.1 客戶端 183
7.2.2 服務器端 184
7.2.3 流程詳解 186
7.3 去中心化數據存儲 188
7.3.1 Swarm 189
7.3.2 IPFS/FileCoin 191
7.4 消息通信 193
7.5 名字解析 194
習題7 194
第8章超級賬本 195
8.1 Fabric概述 195
8.1.1 Fabric結構 196
8.1.2 Fabric組件 197
8.1.3 Fabric技術架構 202
8.1.4 Fabric網絡架構 204
8.2 鏈碼 204
8.2.1 鏈碼的分類 204
8.2.2 鏈碼的生命週期 205
8.3 鏈碼交互 206
習題8 207
第9章Web Assembly 209
9.1 為什麼需要WASM 209
9.1.1 EVM的缺陷 209
9.1.2 WASM的優越性 213
9.2 WASM特色 213
9.2.1 WASM特點 214
9.2.2 WASM動態運行庫 215
9.3 eWASM前後端交互 216
9.4 從Solidity遷移到WASM 218
習題9 218
第10章開發環境和工具安裝 220
10.1 實驗1:區塊鏈開發基本語言工具包安裝配置 220
10.1.1 編程語言包的安裝 220
10.1.2 Node.js環境的安裝 221
10.1.3 Git包的安裝 222
10.2 實驗2:以太坊開發環境安裝 222
10.2.1 web3安裝 222
10.2.2 Ganache安裝 222
10.2.3 Truffle安裝 223
10.2.4 區塊鏈瀏覽器 225
10.2.5 測試環境 225
10.3 實驗3:以太坊開發工具 227
10.3.1 Remix的使用 227
10.3.2 Infura的使用 230
10.3.3 MetaMask的使用 231
10.3.4 Mist的使用 233
10.3.5 以太坊源碼編譯 234
10.3.6 其他 235
動手實驗 235
第11章Solidity智能合約開發 236
11.1 實驗4:以太坊Solidity智能合約ERC20開發 236
11.1.1 方法 237
11.1.2 事件 238
11.1.3 OpenZeppline框架 238
11.2 實驗5:以太坊Solidity智能合約ERC721開發 239
11.2.1 ERC721接口定義 239
11.2.2 元數據擴展 250
11.2.3 可枚舉擴展 251
11.2.4 ERC165標準 255
11.3 實驗6:用編程語言與智能合約交互 256
11.3.1 用Go語言程序與智能合約交互 256
11.3.2 基於ABI的編程 264
11.2.3 標準開發流程 264
11.4 實驗7:Solidity智能合約調試 268
11.4.1 編程語言 268
11.4.2 Testrpc/Ganache測試環境 276
11.4.3 Truffle Debugger 277
11.4.4 Remix調試 285
第12章智能合約應用案例 289
12.1 實驗8:以太坊DApp開發和調試 289
12.1.1 環境準備 290
12.1.2 項目 290
12.1.3 智能合約Solidity編程 291
12.2 實驗9:以太坊IPFS DApp開發和調試 296
12.2.1 DApp環境準備 296
12.2.2 DApp項目 297
12.2.3 編譯運行 301
第13章超級賬本Fabric開發 302
13.1 實驗10:超級賬本Fabric開發環境 302
13.1.1 Fabric安裝 302
13.1.2 First-network例子 314
13.1.3 Test-network示例 319
13.1.2 鏈碼交互 326
13.1.3 鏈碼調試 330
13.1.4 鏈碼簡例 331
13.2 實驗11:WASM簡單合約開發 340
13.2.1 Go + WASM的基本用法 340
13.2.2 WASM的例子 341
第14章智能合約實驗練習 344
14.1 實驗練習1:商業名片系統 344
14.2 實驗練習2:基於ERC721/NFT的學位證書認證系統 344
附錄A Solidity常用函數 346
附錄B 區塊鏈大事記 349
附錄C 區塊鏈術語 358
附錄D 以太坊內置合約 363
參考文獻 366
