注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計區(qū)塊鏈編程

區(qū)塊鏈編程

區(qū)塊鏈編程

定 價:¥98.00

作 者: [美] 比娜·拉馬穆爾蒂(Bina Ramamurthy) 著,史躍東 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302664819 出版時間: 2024-06-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  ● 區(qū)塊鏈與其他分布式系統(tǒng)的比較● Solidity開發(fā)● 身份、隱私和安全● 鏈上、鏈下數(shù)據(jù)及操作

作者簡介

  Bina Ramamurthy 擁有長達(dá)三十年的豐富教學(xué)經(jīng)驗,授課內(nèi)容涵蓋分布式系統(tǒng)、數(shù)據(jù)科學(xué)、點對點網(wǎng)絡(luò)和區(qū)塊鏈等領(lǐng)域。

圖書目錄

第Ⅰ部分  區(qū)塊鏈編程入門
第1章  區(qū)塊鏈基礎(chǔ)知識 3
1.1  從比特幣到區(qū)塊鏈 4
1.2  什么是區(qū)塊鏈 5
1.3  區(qū)塊鏈編程 7
1.3.1  去中心化基礎(chǔ)設(shè)施 7
1.3.2  分布式賬本技術(shù) 10
1.3.3  去中介化協(xié)議 12
1.3.4  信任推動者 13
1.4  激勵場景 14
1.4.1  自動化與一致性數(shù)據(jù)收集 14
1.4.2  及時共享信息 15
1.4.3  可驗證的合規(guī)性 15
1.4.4  可審計的行為出處 15
1.4.5  治理指南 16
1.4.6  行為的歸屬 16
1.4.7  大型流行病管理 16
1.5  回顧 17
1.6  本章小結(jié) 17
第2章  智能合約 19
2.1  智能合約的概念 20
2.1.1  比特幣交易與智能合約交易 20
2.1.2  智能合約的功能 21
2.2  智能合約的設(shè)計 21
2.2.1  計數(shù)器用例圖 22
2.2.2  數(shù)據(jù)資產(chǎn)、對等參與者、角色、
規(guī)則和交易 23
2.2.3  從類圖到合約圖 24
2.3  開發(fā)智能合約代碼 25
2.3.1  Solidity語言 25
2.3.2  計數(shù)器的智能合約代碼 26
2.4  部署和測試智能合約 27
2.4.1  Remix IDE 27
2.4.2  部署和測試 29
2.4.3  關(guān)鍵點 30
2.5  什么讓區(qū)塊鏈合約更智能 30
2.6  去中心化的航空系統(tǒng)用例 32
2.6.1  ASK的定義 32
2.6.2  操作順序 33
2.7  航空公司智能合約 35
2.7.1  對等參與者、數(shù)據(jù)資產(chǎn)、角色、
規(guī)則和交易 36
2.7.2  航空公司智能合約代碼 37
2.7.3  ASK智能合約部署及測試 39
2.8  智能合約設(shè)計的重要性 43
2.9  最佳實踐 44
2.10  本章小結(jié) 44
第3章  信任與完整性技術(shù) 47
3.1  信任和完整性的要素 48
3.1.1  信任 48
3.1.2  完整性 49
3.2  數(shù)字民主問題 50
3.2.1  設(shè)計解決方案 50
3.2.2  用例圖 50
3.2.3  漸進(jìn)式代碼開發(fā) 51
3.2.4  用戶、資產(chǎn)和交易 52
3.2.5  有限狀態(tài)機(jī)圖 53
3.2.6  信任中介 56
3.2.7  修飾符的定義及使用 56
3.2.8  包含修飾符的合約圖 57
3.2.9  匯總代碼 58
3.3  測試 60
3.3.1  正面測試 62
3.3.2  負(fù)面測試 62
3.4  使用修飾符、require()和revert() 63
3.5  assert()聲明 64
3.6  最佳實踐 66
3.7  回顧 66
3.8  本章小結(jié) 67
第4章  從智能合約到Dapp 69
4.1  使用Truffle開發(fā)Dapp 71
4.1.1  開發(fā)過程 71
4.1.2  安裝Truffle 71
4.1.3  構(gòu)建Dapp棧 73
4.2  安裝Ganache測試鏈 73
4.3  開發(fā)智能合約 74
4.3.1  創(chuàng)建項目文件夾 76
4.3.2  添加智能合約并編譯 77
4.3.3  配置區(qū)塊鏈網(wǎng)絡(luò) 78
4.3.4  部署智能合約 78
4.4  開發(fā)并配置網(wǎng)絡(luò)應(yīng)用 79
4.4.1  開發(fā)ballot-app 80
4.4.2  啟動ballot-app 82
4.4.3  安裝MetaMask錢包 83
4.4.4  與Ballot-Dapp交互 85
4.4.5  將網(wǎng)絡(luò)客戶端連接到智能合約 86
4.5  回顧 88
4.6  最佳實踐 88
4.7  本章小結(jié) 89
第Ⅱ部分  端到端的Dapp開發(fā)技術(shù)
第5章  安全與隱私 93
5.1  密碼學(xué)基礎(chǔ) 94
5.1.1  對稱密鑰加密 95
5.1.2  非對稱密鑰加密 95
5.2  公鑰密碼學(xué)與區(qū)塊鏈的相關(guān)性 96
5.2.1  生成以太坊地址 96
5.2.2  交易簽名 97
5.2.3  在Ropsten上部署智能合約 97
5.2.4  以助記符的形式使用私鑰 98
5.2.5  填充區(qū)塊鏈錢包 98
5.2.6  在Ropsten上進(jìn)行部署和交易 99
5.3  哈?;A(chǔ)知識 101
5.3.1  文檔的數(shù)字簽名 102
5.3.2  分布式賬本中的哈希數(shù)據(jù) 102
5.3.3  以太坊區(qū)塊頭中的哈希值 102
5.3.4  Solidity哈希函數(shù) 103
5.4  哈希的應(yīng)用 104
5.4.1  盲拍設(shè)計 104
5.4.2  盲拍智能合約 105
5.4.3  隱私及安全方面 106
5.4.4  測試BlindAuction合約 108
5.4.5  測試計劃 109
5.5  回顧 111
5.6  最佳實踐 111
5.7  本章小結(jié) 111
第6章  鏈上和鏈下數(shù)據(jù) 113
6.1  鏈上數(shù)據(jù) 115
6.2  盲拍用例 116
6.2.1  鏈上事件數(shù)據(jù) 116
6.2.2  帶有事件的盲拍 117
6.2.3  使用Web用戶界面進(jìn)行測試 121
6.2.4  使用web3 API訪問鏈上數(shù)據(jù) 125
6.3  鏈下數(shù)據(jù):外部數(shù)據(jù)源 126
6.4  ASK航空公司系統(tǒng) 128
6.4.1  ASK概念 128
6.4.2  Airlines智能合約 130
6.4.3  ASK鏈上數(shù)據(jù) 133
6.4.4  ASK鏈下數(shù)據(jù) 133
6.4.5  ASK Dapp的開發(fā)流程 133
6.4.6  ASK Web用戶界面 134
6.4.7  合并 135
6.4.8  使用ASK Dapp進(jìn)行交互 136
6.5  回顧 138
6.6  最佳實踐 139
6.7  本章小結(jié) 139
第7章  web3和通道Dapp 141
7.1  web3 API 142
7.1.1  Dapp棧中的web3 142
7.1.2  web3包 143
7.2  通道(channel)的概念 144
7.3  微支付通道 145
7.4  微支付通道用例 145
7.4.1  傳統(tǒng)的銀行解決方案 146
7.4.2  用戶和角色 149
7.4.3  鏈上和鏈下操作 149
7.4.4  MPC智能合約(MPC-contract) 151
7.4.5  MPC應(yīng)用部署(MPC-app) 153
7.4.6  MPC序列圖 156
7.4.7  MPC執(zhí)行演示 157
7.4.8  訪問web3 provider 160
7.4.9  MPC擴(kuò)展 162
7.4.10  微支付通道的意義 163
7.4.11  其他web3包 163
7.5  回顧 164
7.6  最佳實踐 164
7.7  本章小結(jié) 165
第8章  使用Infura進(jìn)行公開部署 167
8.1  節(jié)點和網(wǎng)絡(luò) 167
8.2  Infura區(qū)塊鏈基礎(chǔ)設(shè)施 168
8.3  使用Infura進(jìn)行公開部署 169
8.4  公開部署的端到端流程 171
8.4.1  賬號生成及管理 172
8.4.2  選擇網(wǎng)絡(luò)并導(dǎo)入賬戶 173
8.4.3  從faucet處收集以太幣 174
8.4.4  在Infura上創(chuàng)建區(qū)塊鏈節(jié)點 175
8.4.5  安裝HDWalletProvider 176
8.4.6  配置并部署智能合約 176
8.4.7  配置和部署Web應(yīng)用 177
8.5  在Infura上部署盲拍Dapp 178
8.5.1  設(shè)置盲拍環(huán)境 178
8.5.2  分散的參與者 180
8.5.3  配置和部署受益人賬戶 180
8.5.4  配置和部署競標(biāo)者 182
8.5.5  與已部署的盲拍Dapp交互 183
8.6  在Infura上部署MPC Dapp 186
8.6.1  配置MPC環(huán)境 186
8.6.2  配置并部署組織者 188
8.6.3  配置并部署工人 191
8.7  回顧 192
8.8  最佳實踐 192
8.9  本章小結(jié) 193
第Ⅲ部分  路線圖及未來之路 
第9章  資產(chǎn)代幣化 197
9.1  以太坊標(biāo)準(zhǔn) 198
9.1.1  以太坊改進(jìn)提案 198
9.1.2  ERC20代幣標(biāo)準(zhǔn) 199
9.1.3  可替代和不可替代的代幣 200
9.2  RES4:不可替代的房地產(chǎn)代幣 201
9.2.1  用例圖 202
9.2.2  合約圖 203
9.2.3  RES4 ERC721兼容代幣 203
9.2.4  RES4 Dapp 205
9.2.5  與RES4 Dapp進(jìn)行交互 207
9.3  回顧 213
9.4  最佳實踐 213
9.5  本章小結(jié) 214
第10章  測試智能合約 215
10.1  智能合約測試的重要性 215
10.1.1  測試類型 216
10.1.2  測試程序的語言選擇 216
10.2  測試計數(shù)器智能合約 216
10.2.1  編寫計數(shù)器測試腳本 217
10.2.2  正面測試和負(fù)面測試 220
10.2.3  運行測試腳本 220
10.3  測試投票智能合約 221
10.3.1  編寫投票測試腳本 221
10.3.2  執(zhí)行投票測試腳本 223
10.3.3  describe()和it()測試函數(shù) 224
10.4  回顧測試腳本的編寫 224
10.5  盲拍測試腳本 225
10.5.1  分析describe()和it()的代碼 227
10.5.2  執(zhí)行盲拍測試腳本 227
10.5.3  完整的拍賣流程 228
10.6  回顧 228
10.7  最佳實踐 229
10.8  本章小結(jié) 229
第11章  Dapp開發(fā)路線圖 231
11.1  激勵場景:教育證書 231
11.2  路線圖 232
11.3  問題描述 233
11.3.1  DCC應(yīng)用的背景 233
11.3.2  設(shè)計選擇 234
11.4  分析與設(shè)計 234
11.4.1  操作流程及有限狀態(tài)機(jī) 235
11.4.2  合約圖 236
11.5  開發(fā)智能合約 237
11.5.1  數(shù)據(jù)結(jié)構(gòu) 237
11.5.2  事件 237
11.5.3  修飾符 237
11.5.4  函數(shù) 237
11.6  本地部署 241
11.7  使用truffle進(jìn)行自動化測試 242
11.8  開發(fā)Web應(yīng)用 243
11.8.1  用戶界面設(shè)計 244
11.8.2  編寫app.js 246
11.9  測試DCC-Dapp 246
11.10  公開部署 247
11.10.1  在Ropsten-Infura上部署 247
11.10.2  創(chuàng)建用于分發(fā)的Web
客戶端 249
11.11  回顧 250
11.12  最佳實踐 250
11.13  本章小結(jié) 250
第12章  區(qū)塊鏈:未來之路 253
12.1  去中心化身份 253
12.2  自我管理身份 254
12.3  共識與完整性 256
12.3.1  POW 257
12.3.2  POS 257
12.3.3  拜占庭容錯共識 257
12.4  可擴(kuò)展性 258
12.5  可擴(kuò)展性解決方案 259
12.5.1  旁路通道 259
12.5.2  區(qū)塊大小 259
12.5.3  網(wǎng)絡(luò)速度 259
12.6  隱私 259
12.7  公共、私有和許可網(wǎng)絡(luò) 260
12.8  保密性 261
12.8.1  開放信息 261
12.8.2  解決方案 262
12.9  安全性 262
12.10  使用加密貨幣進(jìn)行保護(hù) 263
12.11  訪問鏈下數(shù)據(jù)(預(yù)言機(jī)) 264
12.12  從基礎(chǔ)到實用系統(tǒng) 265
12.13  展望未來 266
12.14  最佳實踐 267
12.15  回顧 267
12.16  本章小結(jié) 268
附錄A  UML區(qū)塊鏈設(shè)計模型 269
附錄B  設(shè)計原則 277
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號