Go語言區塊鏈應用開發從入門到精通

高野

  • 出版商: 北京大學
  • 出版日期: 2021-01-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 324
  • 裝訂: 平裝
  • ISBN: 7301321341
  • ISBN-13: 9787301321348
  • 相關分類: 區塊鏈 Blockchain
  • 立即出貨

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

商品描述

本書全面地介紹了Go語言區塊鏈應用工程師所需要的基礎知識和各種技術,主要分為基礎篇、進階篇和實戰篇三部分。全書共7章,其中1~2章為基礎篇,介紹Go語言環境安裝、基礎語法、函數編程、容器編程、面向對象編程、並發編程以及網絡編程;3~5章為進階篇,第3章介紹區塊鏈基本原理、發展歷程、行業應用案例,第4章主要介紹智能合約,包括solidity基礎語法,多個經典案例,以及Go語言如何調用智能合約,第5章主要介紹區塊鏈原理的程序化實踐,包括Go語言實現Base58編碼、P2P網絡、PoW共識、區塊鏈組塊以及UTXO賬戶模型實現;6~7章為實戰篇,介紹2個實戰項目,第6章介紹如何實現Go語言版的區塊鏈錢包項目,內容包括助記詞生成、私鑰存儲、Coin交易以及Token交易等內容,第7章介紹如何實現一個版權交易系統,內容包含如何去設計區塊鏈應用系統、後端功能如何與區塊鏈相結合,它既是一個區塊鏈系統應用項目,也是一個Go語言Web服務器項目。本書適合想從事GO語言區塊鏈開發的程序員及GO語言愛好者閱讀。

作者簡介

高野,高級軟件工程師,CSDN《區塊鏈應用工程師》課程合作講師(2018年開發的國內體系化區塊鏈課程),BSN(Block-chain-based Service Network)網絡合格開發者FISCO-BCOS聯盟認證講師,工業與信息化部區塊鏈人才認證課程講師,清華x-lab 實驗室區塊鏈課程合作講師。
曾就職於中國聯通、大商所、傳智播客等知名企業,擅長基於以太坊EOS、HyperLedger Fabric、FISCO-BCOS等公鏈、聯盟鏈平台進行應用開發,主導開發了版權交易系統、 tokentask、一點知道(移動端)等多款區塊鏈應用項目。

目錄大綱

第1章初識Go 語言 2
1.1 為什麼要學習Go 語言 3
1.1.1 Go 語言的前世今生 3
1.1.2 Go 語言能做什麼 4
1.2 Go 語言開發環境搭建5
1.2.1 多平臺開發環境搭建 5
1.2.2 Go 語言IDE 開發工具介紹11
實訓:查看並使用Go 語言命令行幫助手冊13
本章總結15

第2章Go 語言基礎語法16
2.1 數據類型與定義17
2.1.1 數據類型豐富17
2.1.2 如何定義變量18
2.1.3 如何定義常量20
2.1.4 如何優雅地定義枚舉類型21
2.1.5 不用害怕指針23
2.2 分支與循環24
2.2.1 if 語句的寫法24
2.2.2 一個關鍵字支持所有循環方式. 26
2.3 函數27
2.3.1 Go 語言函數的特色27
2.3.2 函數閉包30
2.4 容器編程33
2.4.1 數組的使用34
2.4.2 什麼是切片36
2.4.3 map 的使用38
2.5 面向對象編程41
2.5.1 自定義結構41
2.5.2 方法封裝42
2.5.3 結構體內嵌44
2.5.4 接口47
2.6 並發編程49
2.6.1 並發的概念與Go 並發的設計50
2.6.2 並發經典案例52
2.6.3 同步與channel54
2.6.4 單方向channel 58
2.6.5 定時器62
2.7 網絡編程63
2.7.1 文件IO 處理64
2.7.2 TCP 協議簡介68
2.7.3 TCP 服務器搭建70
2.7.4 HTTP 協議簡介75
2.7.5 HTTP 服務器搭建77
實訓:基於TCP 協議的並發聊天室79
本章總結. 86

第3章區塊鏈原理、發展與應用88
3.1 區塊鏈基本原理89
3.1.1 區塊鏈技術為什麼會產生89
3.1.2 什麼是hash 函數90
3.1.3 P2P 網絡簡介92
3.1.4 PoW 共識算法93
3.1.5 UTXO 模型94
3.2 區塊鏈發展歷程95
3.2.1 區塊鏈發展現狀95
3.2.2 區塊鏈2.0 時代97
3.2.3 區塊鏈行業未來展望97
3.3 區塊鏈開發技術選型98
3.3.1 DApp 架構分析98
3.3.2 公鏈與聯盟鏈之爭99
3.4 區塊鏈行業應用示例100
3.4.1 數字金融100
3.4.2 電子存證101
3.4.3 食品安全103
實訓:區塊鏈理論在線demo 演示104
本章總結104

第4章Go 語言區塊鏈初級應用開發105
4.1 智能合約開發106
4.1.1 合約開發環境搭建106
4.1.2 初識Solidity114
4.1.3 智能合約有哪些數據類型122
4.1.4 什麼是內建對象126
4.1.5 智能合約的函數128
4.1.6 函數修飾符132
4.1.7 巧用複合類型133
4.1.8 斷言處理與自定義修飾符136
4.1.9 經典智能合約案例138
4.1.10 智能合約開發技巧146
4.2 Go 語言與智能合約調用154
4.2.1 合約函數如何被調用154
4.2.2 智能合約被調用的基本步驟154
4.2.3 調用合約時如何簽名160
4.2.4 如何訂閱合約的event163
實訓:編寫一個銀行合約168
本章總結169

第5章Go 語言區塊鏈高級應用開發170
5.1 Go 語言與區塊鏈開發準備171
5.1.1 Go 語言與hash 函數171
5.1.2 Go 語言與Base58 編碼172
5.1.3 Go 語言與默克爾樹174
5.1.4 Go 語言實現P2P 網絡178
5.2 Go 語言實現PoW 共識算法183
5.2.1 區塊定義與數據串行化183
5.2.2 PoW 算法實現186
5.3 區塊數據如何持久化190
5.3.1 Go 語言與boltDB 實戰190
5.3.2 區塊數據如何持久化192
5.3.3 區塊數據如何遍歷195
5.4 Go 語言實現UTXO 模型196
5.4.1 如何定義交易197
5.4.2 如何判斷CoinBase 交易199
5.4.3 如何使用CoinBase 交易199
5.4.4 如何查找賬戶的UTXO 203
5.4.5 如何發送交易206
5.5 區塊鏈賬戶地址如何生成210
5.5.1 公鑰加密與數字簽名210
5.5.2 生成區塊鏈賬戶地址213
實訓:結合區塊鏈賬戶地址,發送區塊鏈交易217
本章總結218

第6章Go 語言離線錢包開發220
6.1 區塊鏈錢包原理221
6.1.1 區塊鏈錢包的核心原理221
6.1.2 助記詞如何生成與驗證223
6.1.3 如何存儲私鑰230
6.2 區塊鏈錢包核心功能實現237
6.2.1 flag 使用與開發框架搭建238
6.2.2 錢包如何支持Coin 轉移241
6.2.3 錢包如何支持Coin 查詢246
6.2.4 ERC-20 標準與實現248
6.2.5 錢包如何支持token 轉移254
6.2.6 錢包如何支持token 查詢256
6.2.7 交易明細查詢257
本章總結261

第7章Go 語言圖片版權交易系統開發262
7.1 項目需求分析與通證設計263
7.1.1 項目需求與痛點分析263
7.1.2 項目整體設計264
7.1.3 ERC-721 標準與實現265
7.2 項目核心功能實現276
7.2.1 Go 語言Echo 框架搭建276
7.2.2 註冊實現281
7.2.3 登錄與session 處理285
7.2.4 圖片上傳處理289
7.2.5 拍賣功能實現298
7.2.6 投票功能實現308
本章總結311

參考文獻312