EOS區塊鏈應用開發指南

虞家男

  • 出版商: 電子工業
  • 出版日期: 2018-11-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 264
  • 裝訂: 其他
  • ISBN: 7121350726
  • ISBN-13: 9787121350726
  • 相關分類: 區塊鏈 Blockchain
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

EOS被稱為區塊鏈3.0,是下一代區塊鏈技術,本書將向讀者展示EOS區塊鏈技術的眾多概念和特性。全書共分為7章,分別是初識EOS、EOS的工作原理、開發工具和環境、編寫智能合約、EOS RPC接口、創建和部署DApp、部署基於EOS的側鏈等。本書希望能夠幫助開發者進入EOS的世界並比較容易地上手開發DApp。

作者簡介

虞家男(EricYu),上海交通大學碩士,麥子錢包/眾托幫CTO,區塊鏈技術專家,全棧開發者,連續創業者。上海交通大學碩士,麥子錢包/眾托幫CTO,區塊鏈技術專家,全棧開發者,連續創業者。

目錄大綱

第1章初識EOS 1 
1.1區塊鏈操作系統1 
1.1.1什麼是EOS 1 
1.1.2 EOS要解決什麼問題1 
1.1.3 EOS的解決方案2 
1.1.4 EOS的生態發展需要哪些支持4 
1.2 EOS開發團隊8 
1.3 EOS基礎名詞解釋11 
1.3.1區塊鏈11 
1.3.2比特幣11 
1.3.3以太坊12 
1.3.4智能合約14 
1.3.5 DApp去中心化應用15 
1.3.6共識機制16 
1.3.7出塊時間16 
1.3.8 IPFS 16 
1.4 EOS系統的特點18 
1.4.1設計理念18 
1.4.2功能特性20 
1.4.3經濟模型21 
1.5 EOS技術意義22 
1.5.1 EOS與BTC 22 
1.5 .2 EOS與ETH 22 
1.5.3 EOS與騰訊服務器集群23 
1.5.4並行執行智能合約25 
1.5.5數據中心級節點26 
1.5.6跨鏈通信與更加輕量級的默克爾樹證明27 
1.5 .7拓展性28
1.5.8拒絕服務攻擊DDoS 28 
1.6開發進度規劃30 
1.6.1階段1:最小可行的測試環境(2017年夏季) 30 
1.6.2階段2:最小可行的測試網絡(2017年秋季) 32 
1.6.3階段3:測試&安全審計(2017年冬季,2018 
年春季) 33 
1.6.4階段4:並行優化(2018年夏季/秋季) 34 
1.6.5階段5:實現集群(未來) 34 
1.7 EOS系統當前面臨的挑戰34 
1.7.1開發者的成本34 
1.7.2潛在的攻擊EOS系統的方法35 
1.7.3超級節點的服務器成本和穩定性35 
1.8總結36 
第2章EOS的工作原理37 
2.1 EOS系統架構37 
2.2區塊數據結構39 
2.2.1區塊頭(block_header) 39 
2.2.2區塊摘要(signed_block_summary) 40 
2.2.3區塊41 
2.3 EOS的賬戶體系41 
2.3.1什麼是賬戶41 
2.3.2什麼是交易42 
2.3.3什麼是公鑰42 
2.3.4什麼是密鑰對43 
2.3.5什麼是權限43 
2.3.6賬戶權限的更新43 
2.3.7什麼是錢包44
2.3.8賬戶和錢包的關係44 
2.3.9 EOS權限管理46 
2.3.10丟失密碼可恢復53 
2.4 EOS的共識機制54 
2.4.1 EOS共識機制的歷史背景54 
2.4.2什麼是BFT-DPoS 54 
2.4 .3交易的數據結構56 
2.4.4每秒處理交易數(TPS) 57 
2.4.5交易確認57 
2.4.6交易作為權益證明(TaPoS) 58 
2.4.7 DPoS的不可逆確認算法58 
2.4.8 EOS共識機制的優勢59 
2.4.9 EOS共識機制的問題61 
2.5社區治理模式62 
2.5.1超級節點62 
2.5.2節點基礎配置62 
2.5.3節點收益63 
2.5.4 EOS主網啟動過程64 
2.5.5節點投票的設計65 
2.5.6並行的EOS主網68 
2.6 EOS資源的經濟模型68 
2.6.1什麼是EOS資源68 
2.6.2 EOS不是免費的嗎?為什麼還要消耗資源70 
2.6.3 EOS資源模型與ETH的不同70 
2.6.4 CPU和帶寬的抵押模型71 
2.6.5內存買賣模型72 
2.6.6 EOS收費模式可能存在的問題73 
2.7總結74
第3章開發工具和環境75 
3.1 EOS客戶端安裝75 
3.1.1硬件和系統要求75 
3.1.2環境準備76 
3.1.3安裝EOS 76 
3.1.4驗證安裝結果78 
3.1.5單節點測試78 
3.1. 6多節點測試79 
3.1.7測試節點同步80 
3.1.8主網節點同步測試81 
3.1.9如何更新EOS版本84 
3.1.10編譯安裝常見問題86 
3.2 nodeos命令行工具89 
3.3 cleos命令行工具91 
3.4 keosd錢包95 
3.4.1如何運行keosd 95 
3.4.2命令參考96 
3.4.3使用nodeos管理錢包98 
3.5 EOS源代碼結構99 
3.6 EOS編程開發工具103 
3.6.1 Visual Studio Code 103 
3.6.2 CLion 104 
3.7技術社區105 
3.8總結105 
第4章編寫智能合約106 
4.1什麼是EOS智能合約106 
4.2 C/C++ 106 
4.2.1預處理和頭文件107 
4.2.2構造函數107
4.2.3私有函數107 
4.2.4公有函數108 
4.2.5設置Action 108 
4.2.6 .h、.hpp和.cpp文件108 
4.3 WebAssembly 109 
4.4 ABI 110 
4.5通信模式115 
4.5.1 Action 116 
4.5.2 Transaction 117 
4.6控制結構117 
4.7數據類型117 
4.7.1自定義類型117 
4.7.2結構體119 
4.7.3結構體的別名121 
4.8 EOS智能合約數據庫122 
4.8.1什麼是EOS智能合約數據庫122 
4.8.2多重索引數據庫API(Multi-Index API) 123 
4.8.3數據表124 
4.8.4多索引125 
4.8.5迭代器126 
4.8.6使用multi-index表126 
4.9 eosio賬戶129 
4.10 eosiolib庫129 
4.11系統合約131 
4.11 .1 eosio.bios智能合約131 
4.11.2 eosio.token智能合約133 
4.11.3 exchange智能合約133
4.11.4 eosio.msig智能合約133 
4.12李嘉圖合約(Ricardian Contract) 134 
4.13應用實踐1:Hello World 135 
4.13.1你的第一個EOS DApp 135 
4.13.2搭建智能合約測試環境135 
4.13.3創建DApp工程140 
4.13.4編譯智能合約141 
4.13.5部署智能合約到賬戶143 
4.13.6調用智能合約144 
4.13.7李嘉圖合約144 
4.14資源消耗限制147 
4.15調試智能合約148 
4.16智能合約安全性148 
4.16.1溢出漏洞處理148 
4.16.2智能合約更新升級149 
4.16.3 EOS核心仲裁法庭解決爭議149 
4.17應用實踐2:eosio.token智能合約150 
4.17.1創建賬戶150 
4.17.2部署智能合約151 
4.17.3創建EOS Token 151 
4.17.4發行Token 152 
4.17.5轉賬153 
4.18總結154 
第5章EOS RPC接口155 
5.1配置插件155 
5.2測試工具155 
5.3主網RPC接口地址156
5.4主要接口功能說明157 
5.4.1 API參數157 
5.4.2 Chain API 157 
5.4.3 Wallet API 158 
5.5獲取智能合約數據158 
5.6客戶端簽名160 
5.6.1 keosd簽名160 
5.6.2 eosjs庫簽名162 
5.6. 3 eosjs2庫簽名164 
5.6.4 mds-eosjs庫簽名166 
5.7應用實踐3:EOS錢包168 
5.7.1錢包的各種類型169 
5.7.2錢包的數據和界面169 
5.7.3查詢賬戶餘額169 
5.7.4轉賬170 
5.7.5開源EOS錢包171 
5.8應用實踐4:區塊鏈瀏覽器172 
5.8.1基本信息172 
5.8.2區塊列表與區塊詳情173 
5.8.3交易詳情177 
5.8.4查詢賬戶交易記錄181 
5.9總結183 
第6章創建和部署DApp 184 
6.1什麼是DApp(去中心化應用) 184 
6.2 DApp基礎架構185 
6.3 Demux DApp架構186 
6.4 MongoDB數據庫插件189 
6.5智能合約的資源消耗191
6.6應用實踐5:TicTacToe 192 
6.6.1遊戲規則193 
6.6.2合約開發193 
6.6.3創建ABI文件205 
6.6.4編譯合約207 
6.6.5部署合約207 
6.6.6命令行測試遊戲207 
6.6.7創建Web前端應用程序209 
6.7應用實踐6:Todolist DApp 211 
6.7.1創建table 212 
6.7.2創建Action 213 
6.7.3部署和命令行測試214 
6.7.4前端實現215 
6.8應用實踐7:EOS Blog DApp 217 
6.8 .1合約開發217 
6.8.2前端開發220 
6.9其他著名EOS DApp案例222 
6.9.1 Everipedia——基於E