-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
第一行代碼:以太坊 版權信息
- ISBN:9787517067979
- 條形碼:9787517067979 ; 978-7-5170-6797-9
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
第一行代碼:以太坊 本書特色
從零開始,無障礙學習區塊鏈開發、以太坊開發、智能合約開發
第一行代碼:以太坊 內容簡介
本書是一本區塊鏈開發技術圖書。本書立足實戰,深入淺出地從零開始講解以太坊及相關技術,包括區塊鏈的基礎概念和理論、利用以太坊創建私有區塊鏈、編寫智能合約、挖礦、Web3.js API、Solidity語言、Truffle框架、Ganache測試節點等技術。本書力求通俗易懂,實例豐富,步驟詳細。為了幫助讀者鞏固基礎知識,本書很后還配有兩個綜合案例,來分別實現以太坊在金融領域(發布代幣)和非金融領域(DApp)的應用。
第一行代碼:以太坊 目錄
第1章 區塊鏈的基本概念與應用場景
1.1 基本概念 1
1.1.1 去中心化應用(DApp) 1
1.1.2 DApp的內部貨幣 2
1.1.3 比特幣 2
1.1.4 工作量證明(PoW) 3
1.1.5 股權證明(PoS) 4
1.1.6 51%攻擊 4
1.1.7 以太坊 4
1.1.8 超級賬本項目 5
1.2 區塊鏈的應用場景 5
1.2.1 金融領域 6
1.2.2 征信管理 7
1.2.3 資源共享 7
1.2.4 物聯網 8
1.2.5 其他領域 8
1.3 小結 9
第2章 創建**個區塊鏈
2.1 以太坊(Ethereum)開發環境搭建 10
2.2 使用geth命令創建以太坊賬戶 13
2.3 刪除以太坊賬戶 15
2.4 geth JavaScript控制臺 16
2.5 建立私有區塊鏈與挖礦 18
2.6 小結 21
第3章 智能合約基礎
3.1 基礎知識 22
3.1.1 Solidity語言概述 23
3.1.2 用Solidity語言開發智能合約 23
3.1.3 使用Remix運行智能合約 24
3.2 編寫和測試智能合約 27
3.2.1 安裝本地Remix環境(Windows、Mac OS X和Linux) 27
3.2.2 安裝testrpc 28
3.2.3 使用testrpc測試智能合約 29
3.2.4 Intellij IDEA Solidity插件 33
3.2.5 將Solidity編譯工具與Intellij IDEA集成 36
3.3 其他智能合約IDE 38
3.3.1 Visual Studio擴展 38
3.3.2 Visual Studio Code擴展 40
3.3.3 Sublime Text插件 42
3.4 Solidity工具 42
3.4.1 Solidity REPL 42
3.4.2 solgraph 43
3.5 小結 45
第4章 以太坊節點與挖礦
4.1 什么是Web3.js 46
4.2 安裝Web3.js 47
4.3 連接testrpc節點 48
4.4 連接geth節點 49
4.5 HttpProvider與IPCProvider 51
4.6 發布與調用智能合約 53
4.6.1 編譯智能合約 53
4.6.2 創建以太坊賬戶 54
4.6.3 用Web3.js API發布智能合約 54
4.6.4 挖礦與掙錢 56
4.6.5 重新發布智能合約 57
4.7 自動編譯智能合約 60
4.8 小結 64
第5章 以太坊中的Web技術
5.1 Node.js入門 65
5.1.1 使用Node.js REPL 66
5.1.2 執行JavaScript腳本文件 66
5.1.3 Node.js IDE(WebStorm) 67
5.1.4 在WebStorm中編寫Node.js程序 68
5.2 Express入門 70
5.2.1 安裝express模塊 70
5.2.2 使用express模塊 72
5.2.3 用WebStorm創建Express工程 74
5.2.4 為Express工程添加路由 76
5.2.5 使用Handlebars模板 78
5.3 通過Web方式調用智能合約 78
5.3.1 在Web頁面中調用智能合約 79
5.3.2 在服務端(Node.js)調用智能合約 84
5.3.3 通過AJAX方式異步調用智能合約 88
5.4 小結 90
第6章 Web3.js API詳解
6.1 基礎知識 91
6.1.1 Web3.js簡介 91
6.1.2 Web3.js開發環境搭建 92
6.2 Web3 API 93
6.2.1 設置和獲取Provider 93
6.2.2 重置狀態 94
6.2.3 獲取字符串的SHA3哈希碼 94
6.2.4 將值轉換為十六進制字符串 95
6.2.5 十六進制與ASCII互相轉換 97
6.2.6 十六進制與十進制互相轉換 98
6.2.7 將數值或十六進制字符串轉換為BigNumber 98
6.2.8 使用BigNumber 99
6.2.9 單位轉換 101
6.2.10 核對賬戶地址是否有效 103
6.3 Web3.eth API 104
6.3.1 獲取和設置默認賬戶 104
6.3.2 獲取和設置默認區塊 104
6.3.3 獲取區塊的同步狀態 105
6.3.4 捕捉區塊同步狀態 106
6.3.5 獲取礦工地址 107
6.3.6 檢測當前節點是否在挖礦 108
6.3.7 獲取以太坊燃料(gas)的平均價格 109
6.3.8 獲取以太坊節點中的賬號地址 109
6.3.9 獲取區塊編號 110
6.3.10 獲取賬戶的余額 112
6.3.11 獲取地址某一個位置存儲的值 113
6.3.12 獲取指定地址中的代碼 113
6.3.13 獲取區塊信息 114
6.3.14 獲取區塊中包含的交易數 116
6.3.15 獲取交易數據 117
6.3.16 獲取交易憑證 118
6.3.17 獲取賬戶發送的交易數 120
6.3.18 向以太坊網絡發送交易 120
6.3.19 發送簽名交易 122
6.3.20 用賬戶對數據進行簽名 123
6.3.21 執行以太坊虛擬機中的代碼 124
6.3.22 預估交易消耗的gas數 124
6.3.23 如何設置gas、gasLimit和gasPrice 125
6.4 小結 128
第7章 Solidity語言詳解(一)
7.1 Solidity語言簡介 129
7.2 Solidity語言基礎 130
7.2.1 編譯器版本指令(pragma) 130
7.2.2 導入其他Solidity源代碼
文件(import) 132
7.2.3 用Web3.js API發布多個智能合約 136
7.2.4 用Web3.js API編譯多個智能合約 140
7.2.5 注釋 142
7.3 值類型 142
7.3.1 布爾類型(bool) 143
7.3.2 整數類型(int/uint) 144
7.3.3 浮點數(fixed) 145
7.3.4 地址類型(address) 145
7.3.5 獲取余額(balance)與轉賬(transfer) 146
7.3.6 另一種轉賬的方式(send) 149
7.3.7 固定長度的字節序列 150
7.4 引用類型 152
7.4.1 數據存儲位置 152
7.4.2 可變長度的字節序列(bytes) 153
7.4.3 字符串(string)類型 154
7.4.4 使用bytes連接字符串 156
7.4.5 使用第三方庫連接字符串 158
7.4.6 枚舉類型(enum) 159
7.4.7 函數類型(function) 161
7.4.8 數組 164
7.4.9 結構體(struct) 168
7.5 映射(mapping) 170
7.6 小結 172
第8章 Solidity語言詳解(二)
8.1 表達式與控制結構 173
8.1.1 函數參數與函數返回值 173
8.1.2 控制結構 176
8.1.3 調用其他合約中的函數 179
8.1.4 函數的命名參數 181
8.1.5 通過new關鍵字創建合約對象 182
8.1.6 函數多返回值解構和元組賦值 184
8.1.7 變量聲明和作用域 185
8.1.8 錯誤處理 186
8.2 計量單位與全局變量 187
8.2.1 以太計量單位 187
8.2.2 時間計量單位 189
8.2.3 block變量 190
8.2.4 msg變量 191
8.2.5 其他全局變量和函數 193
8.3 智能合約 194
8.3.1 函數和狀態變量訪問權限 194
8.3.2 getter函數 195
8.3.3 自定義修飾符(modifier) 197
8.3.4 常量 201
8.3.5 view函數 202
8.3.6 pure函數 204
8.3.7 fallback函數 205
8.3.8 函數重載 206
8.3.9 事件 207
8.3.10 合約繼承 210
8.3.11 合約構造函數 211
8.3.12 抽象合約 211
8.3.13 接口 213
8.4 小結 214
第9章 Truffle與Ganache實戰
9.1 Truffle基礎 215
9.1.1 安裝Truffle 215
9.1.2 創建Truffle工程 216
9.1.3 Truffle工程的結構 216
9.1.4 在Truffle工程中創建自己的合約 217
9.1.5 編譯合約 218
9.1.6 部署合約 219
9.1.7 測試合約 219
9.2 以太坊客戶端 220
9.2.1 Truffle內置以太坊客戶端 220
9.2.2 Ganache概述 221
9.2.3 安裝Ganache 221
9.2.4 用Truffle在Ganache上發布合約 222
9.3 Truffle高級應用 224
9.3.1 用Solidity編寫測試代碼 224
9.3.2 用JavaScript編寫測試代碼 227
9.3.3 捕捉事件和異常 228
9.3.4 使用truffle-contract API調用
合約函數 231
9.3.5 寫Truffle擴展腳本 232
9.4 小結 234
第10章 項目實戰:在以太坊上發行數字資產
10.1 數字資產原理 236
10.2 代幣合約 239
10.2.1 ERC20 Token接口 239
10.2.2 編寫代幣合約 242
10.2.3 測試代幣合約中的函數 245
10.2.4 測試代幣合約中的事件 247
10.3 在以太坊上發布和使用代幣 248
10.3.1 如何將代幣合約部署在以太坊上 249
10.3.2 安裝MetaMask擴展 250
10.3.3 創建以太坊賬戶 251
10.3.4 免費申請無限量的以太(ether) 254
10.3.5 在以太坊上部署代幣合約 257
10.3.6 代幣交易 260
10.4 用Web3.js API完成Titans幣的轉賬 265
10.5 以太幣和以太坊代幣的區別 269
10.6 互聯網的未來:DApp 270
10.7 小結 271
第11章 項目實戰:支持以太坊的小程序版云筆記
11.1 項目功能概述 272
11.2 微信小程序基礎 273
11.2.1 搭建小程序開發環境 273
11.2.2 創建小程序項目 275
11.3 云筆記智能合約 277
11.3.1 編寫和測試云筆記智能合約 277
11.3.2 將CloudNoteService合約部署到以太坊網絡上 279
11.4 用Note.js和Express開發小程序服務端程序 281
11.4.1 編寫調用CloudNoteService合約函數的Database類 281
11.4.2 測試Database類 289
11.4.3 為服務添加集中式存儲功能 291
11.4.4 添加為小程序服務端路由 294
11.5 開發云筆記客戶端 296
11.5.1 設計云筆記主頁面 296
11.5.2 實現云筆記主頁面的邏輯代碼 298
11.5.3 設計添加云筆記頁面 300
11.5.4 實現添加云筆記頁面的邏輯代碼 302
11.5.5 設計云筆記列表頁面 304
11.5.6 實現云筆記列表頁面的邏輯代碼 305
11.5.7 設計云筆記編輯頁面 307
11.5.8 實現云筆記編輯頁面的邏輯代碼 309
11.6 小結 310
第一行代碼:以太坊 作者簡介
●歐瑞科技創始人&CEO,寧哥教育創始人&教學總監 ●51CTO學院金牌講師(已錄制超過1000小時的視頻課程), ●51CTO、CSDN、CNBLOG博客專家。 ●超過15年的企業內訓經驗和開發實戰經驗,曾任國內著名軟件公司項目經理,目前主要從事區塊鏈、比特幣、人工智能、大數據、Python、JavaScript、Java、C++、編譯器等技術的研究和開發,現在正在帶領團隊開發支持區塊鏈的跨平臺開發系統。 ●曾出版超過30多本開發技術暢銷書。 ●深厚的一線項目開發功力加上多年的培訓講師經歷,成店堂了李寧老師風趣幽默,條理清晰、通俗易懂、深入淺出、實戰性強的授課特點。他的課程,經常能夠讓學生舉一反三,發散學生的思維,并指引學生發掘適合自己的學習方法。
- >
二體千字文
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
煙與鏡
- >
唐代進士錄
- >
有舍有得是人生
- >
龍榆生:詞曲概論/大家小書
- >
苦雨齋序跋文-周作人自編集
- >
羅庸西南聯大授課錄