-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

區塊鏈DAPP開發入門、代碼實現、場景應用

( 簡體 字)
作者:李萬勝類別:1. -> 程式設計 -> 區塊鏈
譯者:
出版社:電子工業出版社區塊鏈DAPP開發入門、代碼實現、場景應用 3dWoo書號: 51847
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:9/1/2019
頁數:240
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121373756
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

最早接觸區塊鏈是在2009年,當時我正在華為的一個網絡安全部門從事研發工作,我在諾基亞工作的同學徐明亮,讓我為他的美國同事開發一款比特幣錢包應用,我也有幸接觸比特幣的源代碼,并嘗試編寫區塊鏈的相關應用。
當時我對區塊鏈的理解尚處在代碼層面,作為一個沒有太多社會經驗的程序員,我認為比特幣、區塊鏈僅僅作為點對點網絡,通過密碼學的方式保證數據傳輸和訪問的安全,從性能提高和技術創新的角度看,它并沒有先進性可言。當時我的工作內容就涉及網絡與安全(密碼學屬于安全范疇),這個知識背景使得我對比特幣的技術沒有產生特別濃厚的興趣。況且其代碼完全開源,對我來講,這樣的項目一點競爭優勢都沒有。
到2017年,一種新型區塊鏈公鏈項目爆發,它就是以太坊。當時國內外的區塊鏈項目如火如荼,基于以太坊發行自己項目的token一時風頭無二,很多投資機構也積極地參與其中。此時我已經參與過多個創業項目,對商業基本邏輯有了初步的認識,對于創業初期面臨的問題也有了較深刻的理解。此時有投資人推薦我從事區塊鏈方向的創業,我也因此重新對比特幣和以太坊的設計進行了認真學習。當我研讀完以太坊的白皮書之后,深深地被其技術特點及可以解決的問題范疇所震撼,我會在本書第5章對其涉及的ICO、token和DAO做詳細的講解。不同于比特幣僅僅通過加密對一個數值進行去中心化的安全處理,以太坊已經可以與現實世界的商業邏輯進行緊密的融合。
從應用場景來說,比特幣僅限于金融領域的應用,而以太坊已經超出了這個范疇,其第一個爆款DAPP——ICO在近幾年全球的創業圈中掀起了巨大的變革浪潮,雖然它還伴隨著信息不對稱、技術不對稱等問題,有很多欺詐項目也打著區塊鏈的旗號作惡,但是如果用這樣的技術解決真正有價值的問題,那么其影響也是巨大的。本書第6章以彩票為例,從代碼到業務模式進行了詳細的講解,通過區塊鏈DAPP解決彩票問題有很大的經濟價值和社會價值。
從技術角度來說,比特幣是一個很難編程的架構,如果需要利用區塊鏈加密安全、公開透明、去中心化的特點,在一般情況下,項目方都需要升級整套比特幣源代碼,以滿足自己項目的技術需求和業務需求。很多分叉幣都是以這樣的思路升級比特幣的某些特性,然后重新建設自己的生態的。而對于以太坊來講,智能合約虛擬機的引入使得以太坊成為一個可編程的區塊鏈網絡,為了達到同樣的目的,項目方只需編寫DAPP即可,無須重新搭建網絡和建設生態。從這個角度來講,比特幣網絡類似于諾基亞的功能手機,而以太坊類似于iPhone的智能手機。前者不可編程,新特性需要新型號的手機;后者有App Store,用戶可以通過下載App滿足自定義的手機需求。
本書的另一個目的是希望通過代碼及架構設計的講解,把區塊鏈真正的價值和正確的使用方式傳遞給更多的讀者,使得各類詐騙項目不再能輕易地欺騙更多的群眾。在認真研究了以太坊之后,我欣然接受了投資人的建議,成功融資并開始了區塊鏈公鏈方面的研發。目前我從事的項目主要是對以太坊進行進一步升級。雖然以太坊使得區塊鏈可以編程,但是其操作對象仍然是抽象的數字貨幣,無法與現實世界中有價值的資產進行關聯。我希望通過區塊鏈對帶寬流量、分布式存儲、CPU算力共享等IT資源進行token激勵和記賬管理,這些資源在現實世界中是有價值的,且其價值是可衡量的。
在項目開發過程中,我整理了很多底層的區塊鏈架構的技術文檔,包括一些智能合約相關的技術文擋,因為這些資料相對較少,并且區塊鏈熱潮使得很多人對此類知識相對渴望,因此這些技術文檔的讀者逐漸多了起來。2018年,出版社的朋友希望我整理一些資料,編寫成書,讓更多的人可以讀到這些技術文檔。我覺得這對于區塊鏈開發者和投資人來說都是一件非常有意義的事情,因此我欣然答應,這是本書的寫作背景。
因為當前區塊鏈尚處在發展初期,包括以太坊的編程語言Solidity,其版本仍然未達到release版本,因此很多知識可能會發生變化,希望讀者及時跟進官方的資料。歡迎讀者對本書表述不合理的地方提出建議或意見,我一定虛心接受。本書的代碼會放在GitHub上:https://github.com/9992800/ Dapp-on-Ethereum。我僅以本書拋磚引玉,希望更多的科技人才加入區塊鏈行業中來,一起促進區塊鏈的良性發展。同時希望本書對投資人有所幫助,提高其分辨騙局項目的能力。
再次感謝出版社對我的信任,以及朋友和親人對我事業的支持。

李萬勝
內容簡介:

本書以DAPP的原理和具體實現為主線索,通過對這些知識的講解,使讀者對DAPP系統開發有更全面的認識,同時把區塊鏈公鏈的相關知識融合進來,使得讀者不僅能夠設計和實現DAPP系統,還能大體理解DAPP的相關知識。本書分為7章。第1章簡單介紹了區塊鏈的基礎知識,通過一個簡單的智能合約的代碼,讓讀者對區塊鏈有更直觀的認識;第2章講解了各類集成開發環境的搭建,尤其是MetaMask插件,用戶需要通過此插件連接以太坊主網后才能使用DAPP系統;第3章講解了Solidity編譯及部署到公鏈之后的數據表達和函數調用方式;第4章介紹了ABI接口的技術細節;第5章和第6章以案例的方式介紹了DAPP開發的細節;第7章講解了DAPP潛在的風險。希望本書能為廣大系統開發者和投資者提供一些幫助。
目錄:

第1章 智能合約概述 1
1.1 區塊鏈基礎知識 1
1.1.1 交易 1
1.1.2 區塊 4
1.1.3 鏈 4
1.1.4 挖礦 5
1.1.5 共識算法 6
1.1.6 分叉 7
1.1.7 攻擊 8
1.2 以太坊智能合約 9
1.2.1 以太坊 9
1.2.2 EVM 12
1.2.3 智能合約 13
1.2.4 DAPP 14
1.3 簡單的智能合約 15
1.3.1 示例1 16
1.3.2 示例2 17
1.4 小結 18
第2章 開發環境搭建 20
2.1 Remix的使用 20
2.1.1 編程界面 20
2.1.2 運行環境 22
2.1.3 其他設置 24
2.2 Ethereum Wallet的安裝與使用 26
2.2.1 安裝 26
2.2.2 部署合約 28
2.2.3 調試 32
2.2.4 Ethereum Wallet小結 38
2.3 Ganache + Truffle的安裝與使用 38
2.3.1 Ganache 38
2.3.2 Truffle 40
2.3.3 安裝總結 45
2.4 MetaMask的配置與使用 45
2.5 小結 47
2.6 課后練習 47
第3章 Solidity編程語法 48
3.1 Solidity前導知識 48
3.2 智能合約的基本構成 50
3.2.1 狀態變量 50
3.2.2 函數 50
3.2.3 函數修飾器 50
3.2.4 事件 51
3.2.5 結構體 51
3.2.6 枚舉類型 52
3.3 Solidity數據類型 52
3.3.1 值類型 53
3.3.2 引用類型 58
3.3.3 左值操作類型 65
3.3.4 類型轉換原則 66
3.4 全局變量和單位 68
3.4.1 單位 68
3.4.2 全局變量和函數 69
3.5 控制邏輯與表達式 71
3.5.1 控制語句 71
3.5.2 函數調用 71
3.5.3 通過new關鍵字創建合約 73
3.5.4 賦值 74
3.5.5 作用范圍與聲明 75
3.5.6 異常處理 76
3.6 智能合約 78
3.6.1 創建合約 78
3.6.2 可見范圍和getter 80
3.6.3 函數修飾符 83
3.6.4 狀態常量 85
3.6.5 函數 86
3.6.6 events 91
3.6.7 繼承 93
3.6.8 抽象合約 97
3.6.9 接口 98
3.6.10 庫 99
3.6.11 using for 102
3.7 Solidity匯編語言 103
3.7.1 內嵌式匯編 103
3.7.2 獨立匯編 109
3.8 小結 110
3.9 課后練習 110
第4章 ABI(應用程序二進制接口) 111
4.1 接口調用的基本原理 111
4.2 函數調用與參數封裝 115
4.2.1 數據封裝的基礎知識 115
4.2.2 函數選擇 116
4.2.3 參數封裝 117
4.2.4 封裝示例 118
4.3 ABI接口JSON描述 129
4.4 小結 132
4.5 課后練習 133
第5章 ICO、token和DAO 134
5.1 ICO是第一個爆款DAPP 134
5.1.1 被扭曲了的ICO 135
5.1.2 傳統眾籌與以太坊眾籌 135
5.1.3 眾籌的變種ICO 143
5.2 token 144
5.2.1 token的基本元素 144
5.2.2 改進token 150
5.3 ICO 158
5.4 DAO 162
5.4.1 創建DAO合約 162
5.4.2 使用DAO的方式 170
5.4.3 模擬股票監管的DAO合約 174
5.5 ICO認知誤區與防騙指南 175
5.6 小結 176
5.7 課后練習 177
第6章 DAPP完整實戰 178
6.1 投票 178
6.1.1 Truffle默認案例講解 178
6.1.2 修改為投票系統 187
6.1.3 實戰小結 193
6.2 誓言上鏈 193
6.3 區塊鏈彩票 199
6.3.1 業務架構 199
6.3.2 業務代碼實現 201
6.4 小結 219
6.5 課后練習 219
第7章 智能合約安全與公鏈技術簡介 220
7.1 合約溢出攻擊實例 220
7.2 智能合約安全漏洞與建議 224
7.2.1 合約漏洞 224
7.2.2 安全建議 226
7.3 常見的公鏈安全問題 227
7.3.1 雙花攻擊 227
7.3.2 女巫攻擊 228
7.3.3 日食攻擊 229
7.3.4 DDoS攻擊 230
7.4 小結 230
序: