3dwoo大學簡體電腦書店
深入理解EOS:原理解析與開發實戰
( 簡體 字)
作者:李萬才 林琪鈞 郭琦康 廖洋陽 著類別:1. -> 程式設計 -> 區塊鏈
出版社:機械工業出版社深入理解EOS:原理解析與開發實戰 3dWoo書號: 50446
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:12/1/2018
頁數:244
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111615293 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
推薦序
前言
第一部分 原理篇
第1章 EOS基本介紹2
1.1 區塊鏈2.0的痛點2
1.2 EOS項目定義與愿景5
1.3 EOS項目的發展歷程8
1.4 EOS項目版本更迭簡況與現狀11
第2章 EOS項目技術優勢解析15
2.1 EOS的共識機制(BFT-DPoS)16
2.1.1 超級節點競選18
2.1.2 持幣者投票19
2.1.3 超級節點治理20
2.2 EOS的賬戶體系20
2.2.1 基于角色的多層級賬戶體系21
2.2.2 賬戶權限管理21
2.2.3 強制延遲消息執行策略22
2.2.4 密鑰丟失或被盜后的恢復23
2.3 網絡資源Token化23
2.3.1 帶寬和日志存儲23
2.3.2 計算和計算積壓(CPU)24
2.3.3 狀態存儲器(RAM)24
2.4 EOS的節點治理25
2.4.1 憲法和協議指導下的關鍵操作25
2.4.2 憲法和協議的升級26
2.5 腳本與虛擬機27
第3章 EOS代碼原理分析29
3.1 EOS項目代碼框架總覽29
3.1.1 腳本層29
3.1.2 插件層31
3.1.3 合約層36
3.1.4 支持層39
3.2 共識算法代碼實現42
3.2.1 DPoS機制實現關鍵代碼分析43
3.2.2 BFT算法實現關鍵代碼分析53
3.3 網絡層代碼實現61
3.4 區塊打包與廣播的代碼實現66
3.5 系統合約層代碼實現70
3.5.1 eosio.system合約代碼分析71
3.5.2 eosio.Token合約代碼分析79
3.5.3 eosio.msig合約代碼分析82
3.5.4 eosiolib依賴庫84
3.6 EOS關鍵工具的代碼實現89
3.6.1 nodeos代碼實現89
3.6.2 cleos代碼實現92
3.6.3 keosd代碼實現94
第二部分 實戰篇
第4章 EOS網絡啟動與原生功能介紹104
4.1 EOS項目安裝部署與編譯104
4.2 配置文件修改與測試106
4.3 EOS測試網啟動108
4.3.1 Bios節點109
4.3.2 預出塊節點109
4.3.3 普通節點111
4.4 EOS項目常用功能112
4.4.1 鏈上信息查詢112
4.4.2 錢包管理126
4.4.3 賬戶創建與權限管理132
4.4.4 代幣的交易135
4.4.5 交易的簽名與發送137
4.4.6 系統資源獲取138
4.5 智能合約的部署與調用140
第5章 智能合約開發142
5.1 智能合約簡介142
5.1.1 智能合約定義143
5.1.2 智能合約歷史148
5.1.3 智能合約優劣勢154
5.1.4 智能合約應用場景155
5.2 EOS中的智能合約165
5.3 EOS智能合約文件結構169
5.3.1 .abi文件170
5.3.2 .wasm/.wast文件171
5.3.3 eosioapp編譯器使用172
5.4 EOS智能合約依賴庫介紹179
5.5 EOS智能合約實戰項目196
5.5.1 HelloWorld合約196
5.5.2 數據庫合約200
5.6 常見bug與debug思路總結205
第6章 基于EOS的DApp開發207
6.1 什么是DApp207
6.1.1 比特幣是第一個DApp208
6.1.2 DApp命名的原因208
6.1.3 DApp運作的法律模型209
6.2 開發DApp的一般流程210
6.2.1 建立共識的機制210
6.2.2 設計分發Token的機制211
6.2.3 常見DApp開發階段213
6.3 DApp的應用領域214
6.3.1 游戲領域214
6.3.2 社交/內容分發平臺216
6.3.3 數字貨幣錢包216
6.4 基于EOS的DApp開發思路217
6.5 DApp開發實例—網頁發幣227
第7章 基于EOS的側鏈/競爭鏈開發232
7.1 側鏈/競爭鏈的概念與起源232
7.2 側鏈實現方式235
7.3 主流側鏈項目239
7.4 EOS側鏈242
7.5 EOS競爭鏈245
附錄A EOS系統優化方向展望248
這是一部從源碼層面剖析EOS原理和全方位講解EOS開發實戰的著作。

作者是EOS全球生態系統中具有影響力的EOS社區引力區的聯合創始人和核心團隊成員,是引力區在EOS主網上的研究和實踐成果,得到了EOS官方原產品副總等多位EOS生態領袖的一致好評和強烈推薦。

全書一共7章,從EOS的優勢技術、源碼實現、原生功能使用、智能合約開發、基于EOS的Dapp開發和側鏈開發等6個方面,詳細的講解了從系統原理到軟件部署,再到開發的全部細節,適合初學者和具有一定開發基礎的讀者閱讀。

第一部分 原理篇(第1~3章)

 首先,從EOS項目誕生的初衷、愿景、發展歷程和版本更迭等角度宏觀地介紹了EOS項目本身;然后,從EOS的共識機制、賬戶體系、網絡資源Token化、節點治理、腳本與虛擬機等角度展現了EOS的技術優勢;最后,從源碼角度分析了EOS項目的整體架構、共識算法代碼實現、網絡層代碼實現、區塊打包與廣播代碼的實現和關鍵工具的代碼實現。

第二部分 實戰篇(第4~7章)

這部分主要從實戰開發的角度詳細講解了EOS網絡的啟動、原生功能的使用、智能合約的開發、DApp的開發、基于EOS的側鏈和競爭鏈的開發等內容。不僅詳細講解了各項開發所涉及的技術點、開發方法、開發技巧,而且還包含大量的實戰案例。

附錄部分展望了EOS主網優化的方向,涉及百萬TPS目標如何實現和跨鏈交互等方面的內容。
為什么要寫這本書

2014年的夏天,我大部分時間都待在熱氣騰騰的深圳,身邊的礦機嗡嗡作響,環境溫度在40度以上,可那時我們這些創業者們卻好似身在冰窟,心里無比凄涼。那時的我們沒見過多少世面,也沒經歷過太多波折,比特幣、萊特幣、狗狗幣是我們僅有的對區塊鏈這座冰山的小小一角的窺視。但也正是在那個絕望的時刻,我接觸到了Bitshares,這也是Daniel Larimer的第一個項目,當然覺得特震撼。在那個時代,出現這個級別的產品,簡直就如同比特幣最初的橫空出世,讓人敬畏。

天才總是充滿著野心和想象力,之后的STEEM,現在的EOS,都是Daniel Larimer(以下簡稱BM)不斷為區塊鏈,乃至整個商業世界帶來的超級創新項目。特別是EOS,它勾勒出了區塊鏈+云計算+大規模商業應用的未來圖譜,讓所有對區塊鏈心生好感的人都充滿了期望:這種技術如果普及了,能從多大程度上改變世界,改變我們自身呢?

為什么我們如此熱愛EOS,并選擇EOS作為一個智能合約平臺的載體呢?我先給出自己的理由:

(1)我喜歡與眾不同的人和不隨波逐流的人,尤其是還能做出令人覺得瞠目結舌的產品的人。我是BTS和STEEM的深度用戶,我覺得它們優雅、精致、超前于時代;我覺得它們的架構和技術能夠實實在在地讓我感到既酷又適于每日品玩。我看過BM的很多文章,那種既帶著些許憂郁感又擁有自己的哲學高度,還能深入到技術細節的文字,讓我感觸良多。也許,在潛意識中,我也想成為BM那樣的人吧。

(2)EOS是一個從實踐中、從小而美的應用中、從歷經時間磨礪的系統中抽象出來的某種設計理念的實體化,不同于各種無中生有、野心勃勃的大概念和大設想,它更為親切和熟悉,像是一個被順水推舟解出的方程式,像是一部美劇中可獨立成章的主線劇情,它自然而然地發生,無比貼合你一直以來的期待。

(3)看好EOS,是一個迭代更新的過程。隨著不斷地為EOS貢獻微小的價值,我能感受到價值的積聚,以及這種價值的吸引力。而隨之而來的成就感又激勵我進一步做出能力所及的更多貢獻,在這個過程中,我和EOS在某種層面上已經融為一體。我經常笑談,自己是EOS的看門狗,便是此意。

(4)EOS具有無限性。雖然EOS會受到現有硬件和軟件架構的限制,但是EOS的出現對于創新的激發是無限的。因為它讓很多人意識到這個巨大生態的價值,以及各種商業邏輯遷移的可能性。就我所知,很多針對EOS的創新已經在醞釀之中了。我相信,EOS主網上線之日起的一個月內,會有數以百級的應用展現在我們面前。

面對自己鐘愛之物時,我們總想為它賦予更深刻、更高尚的意義,也許我也不自覺地美化了它,但是,我不會覺得慚愧,因為我忠于這種內心的選擇,而且不會因此傷害到其他人。

當然,EOS目前還處在發展初期,還沒有那么成熟和完善,我經常會被問到的一個問題:我想學習EOS的開發,怎么入門?確實,我們特別需要一個有體系的、專業的能帶著程序員、愛好者們真正走入EOS這個新的技術平臺大門的教材,這也是這套書的最終目的。我們在引力區集合了自己的技術團隊和社區的開發者們,通過社區大家長期深入溝通交流,找到了幫助初學者實現入門到精通的學習方法,總結出了我們真正需要的那些知識和需要跨過的那些門檻,然后以體系化的方式整理成冊。我們的目標很明確,幫助EOS社區培養更多的開發者,也幫助開發者們進入一個超級公鏈生態。我覺得,公鏈和人之間是通過這種引力的方式互相鏈接起來的,這才是區塊鏈的本質。

讀者對象

這里根據軟件需求劃分出一些能使用本書的用戶團體:

區塊鏈技術初學者

EOS技術愛好者

基于EOS的DApp開發者

EOS生態建設者

開設相關課程的大專院校師生

本書特色

本書基于EOS引力區的技術團隊在EOS主網上累積的實戰技術開發經驗撰寫而成,書中介紹了EOS項目的技術全貌,內容深入淺出,旨在幫助讀者快速理解EOS技術亮點以及實現過程。從實際軟件開發案例、EOS原生功能使用、智能合約開發,以及基于EOS的DApp開發和側鏈開發等幾個方面,詳細介紹了從軟件部署到具體開發的全部細節,適合初學者和具有一定開發基礎的讀者閱讀。

如何閱讀本書

本書分為兩大部分:

第一部分為原理篇,本篇從三方面著手,即括基礎介紹、技術優勢分析和代碼原理分析三部分,由淺入深地介紹了EOS系統的原理。

第二部分為實戰篇,通過項目實例詳細講解EOS主網原生功能使用、智能合約開發、基于EOS的DApp開發和基于EOS的側鏈/競爭鏈開發。

其中第二部分通過具體的開發項目,手把手地帶初學者快速掌握基于EOS的項目開發并掌握DApp開發邏輯,建議有一定開發能力的用戶直接閱讀這部分。對于初學者,則建議從頭閱讀,在掌握了EOS基本技術原理的基礎再學習第二部分。

除上述兩大部分,本書最后還包含一個附錄。附錄部分介紹了幾個EOS主網的系統優化方向。
致謝

這本書的出版發行,得益于眾多社區成員、朋友們的幫助。

首先要感謝EOS引力區在本書成文過程中提供的幫助。因為有了EOS引力區的專業知識、敬業態度及為區塊鏈無私奉獻的精神,才有了這本書的順利問世。

其次也要感謝GBC引力區塊鏈、幣曉爺、哈希女神、鏈就社、幣乎、幣車等媒體、項目方在本書出版發行過程中提供的支持。

同時要感謝薛虹森、李俊、沈雪紅、孫振、陳翔、周宇、彭有旺、星辰、仲一、陳強、陳建清、康枝旺、馬健寧等各位引力節點們助力EOS生態繁榮,以及為本書提供的全方位的反饋。

還要感謝邱琪、何德林、張怡軍、劉定強、陳科偉、楊建鋒、肖志銘、卜守強、劉曉凱等社區活躍成員一路的陪伴與鼓勵。

感謝眾多的社區成員給出的寶貴意見,他們直接或間接參與了本書的撰寫工作。由于篇幅有限,在此我們無法一一致謝,但我們一直心懷感恩。在區塊鏈探索自由的道路上,感恩一路有你。

感謝張國強老師的引薦,在你的努力下才促成了這本書的合作與出版。

感謝機械工業出版社華章公司的編輯楊福川和孫海亮,在這幾個月的時間中始終支持我們的寫作,你們的鼓勵和幫助引導我們順利完成全部書稿。

最后感謝我的父母、妻子小紅以及女兒西西,你們的陪伴和理解時刻為我灌輸著信心和力量!

謹以此書獻給我最親愛的家人,以及眾多熱愛EOS的朋友們!



李萬才
pagetop