- GO語言公鏈開發實戰
- 鄭東旭等
- 1077字
- 2019-08-15 14:12:44
前言
2008年由中本聰第一次提出了區塊鏈的概念,在隨后的幾年中,區塊鏈成為了電子貨幣比特幣的核心組成部分:作為所有交易的公共賬簿。2017年筆者的很多朋友已經在關注區塊鏈技術領域,筆者也在各種技術峰會上分享過多次區塊鏈技術實現細節,在線上也組織了幾個區塊鏈技術群。筆者發現有相當多的朋友詢問如何深入學習區塊鏈實現技術,但目前市面上很多的資料都僅介紹區塊鏈上的某部分技術,比如加密貨幣交易、智能合約開發等,并沒有完整介紹公鏈的技術實現。在一次技術峰會演講后與北京郵電大學區塊鏈實驗室的老師交流,受到陳萍老師的鼓勵,想到編寫一本系統性介紹公鏈開發的書籍,對學習區塊鏈的初學者會有幫助,于是便開始組織本書的寫作。
本書的目標是引導讀者全面了解區塊鏈技術實現原理,筆者也一直堅信,了解某一系統最直接的方式就是研讀它的源碼,所以本書并不是只介紹區塊鏈技術,而是深入分析其背后的實現原理。通過閱讀本書,讀者可以全面地了解一條公鏈的技術實現。本書基于比原鏈的源代碼進行分析,比原鏈是一個開源的有智能合約功能的公共區塊鏈平臺,是國內優秀的公鏈,目前比原鏈的代碼量不多,而且源碼結構清晰,特別適合初學者學習。
本書主要內容包括:
第1章介紹公鏈設計架構,使讀者能夠宏觀地了解區塊鏈技術架構。
第2章介紹比原鏈相關的交互工具,包括交互工具的操作及代碼實現。
第3章介紹比原鏈的核心進程bytomd,包括啟動過程中的初始化等操作。
第4章介紹API Server實現及原理。詳解HTTP請求的完整生命周期,并介紹區塊鏈相關的API接口設計。
第5章和第6章詳細介紹區塊鏈核心部分,包括區塊、區塊鏈、交易的核心數據結構,以及UTXO模型、隔離見證、交易腳本、驗證等概念的實現。
第7章和第8章詳細講解比原鏈智能合約以及智能合約在BVM虛擬機上運行的過程。
第9章介紹區塊鏈錢包的基本概念,包括密鑰、賬戶、資產管理、交易管理等,以及錢包的備份和恢復方式。
第10章詳解區塊鏈P2P分布式網絡實現原理,以及Kademlia結構化網絡算法的實現。
第11章介紹數據持久化存儲,以及區塊與交易的緩存和存儲過程。
第12章和第13章詳解PoW與PoS共識機制以及挖礦相關的概念和流程。
第14章介紹區塊鏈技術未來的發展趨勢,我們相信區塊鏈能夠為人類做出重大貢獻。
本書適合區塊鏈開發者、Go語言開發者閱讀。由于時間與水平比較有限,我們在編寫本書時也難免會出現一些紕漏和錯誤。讀者可以隨時通過郵箱weilandeshanhuhai@126.com與我們聯系,希望和大家一起學習與討論區塊鏈技術。
本書在寫作過程中得到很多人的幫助,特別是郜策宇、陸志亞、王慶華,在此深表感謝。尤其感謝比原鏈技術團隊設計了這樣一個優秀的公鏈,給區塊鏈社區做出了貢獻。
鄭東旭
2019年3月14日