本書主要介紹區塊鏈第二代技術主導平臺“乙太坊”的應用開發方法。第1章主要講解區塊鏈的概念、發展歷程、區塊鏈的應用本質及思維模式;第2章主要講解以太坊的技術原理、體系及其他重要基本概念;第3章主要講解乙太坊的安裝、網路的配置及應用開發環境的搭建;第4章主要講解乙太坊應用開發的介面方式;第5章主要講解乙太坊的核心創新——智慧合約的開發、編譯、部署與應用;第6~8章主要講解乙太坊的經典應用案例、眾籌的技術特徵及去中心化自治組織等智慧合約的創建思路、原理與源碼。
本書主要面向有志于從事區塊鏈研究,特別是乙太坊應用開發的相關技術人員、管理人員及興趣愛好者,同時可作為本科生、碩士研究生等學生學習與研究區塊鏈技術的參考書籍。
作者介紹
趙其剛,中科院計算所、電子科技大學博士後,成都高新資訊技術研究院院長,西南交通大學教師,長期從事互聯網、智慧城市及軟體技術架構相關研究、教學及工程實踐活動,已發表學術論文近二十篇,出版圖書《移動資訊技術及應用》和《NGN QoS問題研究》。
陸斌,成都高新資訊技術研究院理事長,原中國聯通四川分公司副總經理,現四川省通信學會常務理事及高級會員,四川省通信行業協會副會長,電氣和電子工程師協會(IEEE)會員。研究方向:移動通信技術,移動資訊技術,電信核心網技術。出版專著四部,發表學術文章十餘篇。
趙其國,成都高新資訊技術研究院軟體架構師,成都職業技術學院教師,主持和參與多項大型軟體系統項目研發工作,擔任項目經理、研發經理等職。主講軟體工程及Java EE相關課程,出版圖書《J2EE 企業項目實戰——Struts 2+Hibernate+Spring》。
陸斌,成都高新資訊技術研究院理事長,原中國聯通四川分公司副總經理,現四川省通信學會常務理事及高級會員,四川省通信行業協會副會長,電氣和電子工程師協會(IEEE)會員。研究方向:移動通信技術,移動資訊技術,電信核心網技術。出版專著四部,發表學術文章十餘篇。
趙其國,成都高新資訊技術研究院軟體架構師,成都職業技術學院教師,主持和參與多項大型軟體系統項目研發工作,擔任項目經理、研發經理等職。主講軟體工程及Java EE相關課程,出版圖書《J2EE 企業項目實戰——Struts 2+Hibernate+Spring》。
目錄
第 1章 區塊鏈概論 001
1.1 區塊鏈概念及應用 002
1.1.1 區塊鏈發展歷程 002
1.1.2 區塊鏈的概念 004
1.1.3 區塊鏈的應用 006
1.1.4 區塊鏈不適用場景及風險 007
1.2 區塊鏈2.0:乙太坊 008
1.2.1 區塊鏈2.0特徵 009
1.2.2 乙太坊及關鍵支撐技術 009
1.2.3 乙太坊:區塊鏈2.0工業開發標準 012
1.3 區塊鏈創造歷史的機遇 014
1.3.1 程式師的區塊鏈思維 015
1.3.2 用區塊鏈模擬定義社會 015
1.3.3 挑戰傳統中心化系統 017
第 2章 乙太坊工作原理與基礎 019
2.1 乙太坊工作原理 020
2.1.1 乙太坊基本術語 020
2.1.2 乙太坊工作機制 021
2.1.3 乙太坊軟體架構 023
2.2 乙太坊用戶端與網路 024
2.2.1 各類乙太坊用戶端 024
2.2.2 乙太坊虛擬機器 025
2.2.3 乙太坊網路 026
2.3 帳戶與智能合約 028
2.3.1 乙太坊帳戶 028
2.3.2 金鑰文件 029
2.3.3 智能合約 029
2.4 乙太幣 030
2.4.1 乙太幣的面值 031
2.4.2 燃料和乙太幣 031
第3章 乙太坊安裝與開發環境配置 033
3.1 用戶端安裝 034
3.1.1 乙太坊用戶端軟體安裝 034
3.1.2 創建乙太坊帳戶 035
3.1.3 發送乙太幣 038
3.1.4 用戶端應用開發介面 039
3.2 乙太坊網路配置 040
3.2.1 乙太坊網路基本操作 040
3.2.2 使用乙太坊測試網路 046
3.2.3 搭建私有網路 047
3.3 乙太坊應用開發環境搭建 053
3.3.1 安裝Truffle框架 053
3.3.2 使用VS Code 057
3.3.3 關於其他乙太坊開發包 061
第4章 乙太坊應用介面 063
4.1 命令列介面 064
4.1.1 Geth用戶端操作 064
4.1.2 Parity用戶端操作 070
4.2 JavaScript運行環境命令 078
4.2.1 互動式應用:JSRE REPL控制台 078
4.2.2 非交互狀態下應用:JSRE描述模式 079
4.2.3 管理APIs 080
4.3 Web3 JavaScript應用程式API介面 085
4.3.1 載入Web3 085
4.3.2 使用回檔 086
4.3.3 批次處理請求 087
4.3.4 Web3.js中的超大數字 087
4.3.5 Web3.js API 088
4.4 JSON RPC API 092
4.4.1 默認JSON-RPC用戶端 092
4.4.2 十六進位編碼 094
4.4.3 默認區塊參數 095
4.4.4 JSON-RPC方法列表 095
第5章 智慧合約編碼、部署與應用 99
5.1 智慧合約帳戶與交易 100
5.1.1 智能合約帳戶 100
5.1.2 智慧合約的交易 101
5.1.3 合約交易成本估算 103
5.1.4 合約之間的交互 105
5.2 一個簡單的智慧合約應用 109
5.2.1 創建項目 109
5.2.2 編譯和運行項目 112
5.3 智慧合約應用開發流程 117
5.3.1 載入Web3 118
5.3.2 智能合約程式設計 118
5.3.3 合約編譯 119
5.3.4 合約創建與應用 123
5.3.5 與智能合約交互 124
5.3.6 合約中繼資料 125
5.3.7 測試合約和交易 127
第6章 智能合約“虛擬幣”創建 129
6.1 智能合約“虛擬幣” 130
6.1.1 “虛擬幣”代碼 131
6.1.2 簡化“虛擬幣”源碼 135
6.2 “虛擬幣”源碼分析 136
6.2.1 關鍵代碼解析 136
6.2.2 “虛擬幣”合約部署 140
6.3 “虛擬幣”優化 143
6.3.1 中心化管理員 144
6.3.2 中心造幣者 146
6.3.3 自動化買賣交易 148
6.3.4 自動獲取 150
6.3.5 工作量證明 152
6.3.6 改進“虛擬幣”全部源碼 155
6.4 部署與應用 162
6.4.1 基於Mist部署 162
6.4.2 使用用戶的“虛擬幣” 164
第7章 眾籌智慧合約設計 166
7.1 為優秀創意眾籌 167
7.1.1 “虛擬幣”與去中心化自治組織 168
7.1.2 眾籌合約代碼 169
7.1.3 關鍵代碼說明 172
7.2 眾籌合約的應用 173
7.2.1 眾籌合約的部署 173
7.2.2 籌集資助 174
7.3 眾籌合約的擴展 175
7.3.1 無限制眾籌 175
7.3.2 定時合約調用 176
第8章 去中心化自治組織 181
8.1 會員制自治組織 182
8.1.1 會員制自治組織的合約代碼 182
8.1.2 合約部署 191
8.1.3 與其他人分享 193
8.1.4 合約操作 193
8.2 股東會組織 198
8.2.1 合約代碼 199
8.2.2 部署與應用 206
8.3 代表制民主 208
8.3.1 合約代碼 209
8.3.2 合約部署 213
8.4 決策與行政分離 214
8.4.1 合約代碼 214
8.4.2 行政部門 215
8.5 延時交易執行 217
8.5.1 工作機制 217
8.5.2 合約代碼 218
8.5.3 部署和使用 227
參考文獻 229
1.1 區塊鏈概念及應用 002
1.1.1 區塊鏈發展歷程 002
1.1.2 區塊鏈的概念 004
1.1.3 區塊鏈的應用 006
1.1.4 區塊鏈不適用場景及風險 007
1.2 區塊鏈2.0:乙太坊 008
1.2.1 區塊鏈2.0特徵 009
1.2.2 乙太坊及關鍵支撐技術 009
1.2.3 乙太坊:區塊鏈2.0工業開發標準 012
1.3 區塊鏈創造歷史的機遇 014
1.3.1 程式師的區塊鏈思維 015
1.3.2 用區塊鏈模擬定義社會 015
1.3.3 挑戰傳統中心化系統 017
第 2章 乙太坊工作原理與基礎 019
2.1 乙太坊工作原理 020
2.1.1 乙太坊基本術語 020
2.1.2 乙太坊工作機制 021
2.1.3 乙太坊軟體架構 023
2.2 乙太坊用戶端與網路 024
2.2.1 各類乙太坊用戶端 024
2.2.2 乙太坊虛擬機器 025
2.2.3 乙太坊網路 026
2.3 帳戶與智能合約 028
2.3.1 乙太坊帳戶 028
2.3.2 金鑰文件 029
2.3.3 智能合約 029
2.4 乙太幣 030
2.4.1 乙太幣的面值 031
2.4.2 燃料和乙太幣 031
第3章 乙太坊安裝與開發環境配置 033
3.1 用戶端安裝 034
3.1.1 乙太坊用戶端軟體安裝 034
3.1.2 創建乙太坊帳戶 035
3.1.3 發送乙太幣 038
3.1.4 用戶端應用開發介面 039
3.2 乙太坊網路配置 040
3.2.1 乙太坊網路基本操作 040
3.2.2 使用乙太坊測試網路 046
3.2.3 搭建私有網路 047
3.3 乙太坊應用開發環境搭建 053
3.3.1 安裝Truffle框架 053
3.3.2 使用VS Code 057
3.3.3 關於其他乙太坊開發包 061
第4章 乙太坊應用介面 063
4.1 命令列介面 064
4.1.1 Geth用戶端操作 064
4.1.2 Parity用戶端操作 070
4.2 JavaScript運行環境命令 078
4.2.1 互動式應用:JSRE REPL控制台 078
4.2.2 非交互狀態下應用:JSRE描述模式 079
4.2.3 管理APIs 080
4.3 Web3 JavaScript應用程式API介面 085
4.3.1 載入Web3 085
4.3.2 使用回檔 086
4.3.3 批次處理請求 087
4.3.4 Web3.js中的超大數字 087
4.3.5 Web3.js API 088
4.4 JSON RPC API 092
4.4.1 默認JSON-RPC用戶端 092
4.4.2 十六進位編碼 094
4.4.3 默認區塊參數 095
4.4.4 JSON-RPC方法列表 095
第5章 智慧合約編碼、部署與應用 99
5.1 智慧合約帳戶與交易 100
5.1.1 智能合約帳戶 100
5.1.2 智慧合約的交易 101
5.1.3 合約交易成本估算 103
5.1.4 合約之間的交互 105
5.2 一個簡單的智慧合約應用 109
5.2.1 創建項目 109
5.2.2 編譯和運行項目 112
5.3 智慧合約應用開發流程 117
5.3.1 載入Web3 118
5.3.2 智能合約程式設計 118
5.3.3 合約編譯 119
5.3.4 合約創建與應用 123
5.3.5 與智能合約交互 124
5.3.6 合約中繼資料 125
5.3.7 測試合約和交易 127
第6章 智能合約“虛擬幣”創建 129
6.1 智能合約“虛擬幣” 130
6.1.1 “虛擬幣”代碼 131
6.1.2 簡化“虛擬幣”源碼 135
6.2 “虛擬幣”源碼分析 136
6.2.1 關鍵代碼解析 136
6.2.2 “虛擬幣”合約部署 140
6.3 “虛擬幣”優化 143
6.3.1 中心化管理員 144
6.3.2 中心造幣者 146
6.3.3 自動化買賣交易 148
6.3.4 自動獲取 150
6.3.5 工作量證明 152
6.3.6 改進“虛擬幣”全部源碼 155
6.4 部署與應用 162
6.4.1 基於Mist部署 162
6.4.2 使用用戶的“虛擬幣” 164
第7章 眾籌智慧合約設計 166
7.1 為優秀創意眾籌 167
7.1.1 “虛擬幣”與去中心化自治組織 168
7.1.2 眾籌合約代碼 169
7.1.3 關鍵代碼說明 172
7.2 眾籌合約的應用 173
7.2.1 眾籌合約的部署 173
7.2.2 籌集資助 174
7.3 眾籌合約的擴展 175
7.3.1 無限制眾籌 175
7.3.2 定時合約調用 176
第8章 去中心化自治組織 181
8.1 會員制自治組織 182
8.1.1 會員制自治組織的合約代碼 182
8.1.2 合約部署 191
8.1.3 與其他人分享 193
8.1.4 合約操作 193
8.2 股東會組織 198
8.2.1 合約代碼 199
8.2.2 部署與應用 206
8.3 代表制民主 208
8.3.1 合約代碼 209
8.3.2 合約部署 213
8.4 決策與行政分離 214
8.4.1 合約代碼 214
8.4.2 行政部門 215
8.5 延時交易執行 217
8.5.1 工作機制 217
8.5.2 合約代碼 218
8.5.3 部署和使用 227
參考文獻 229
網路書店
類別
折扣
價格
-
新書79折$280