區塊鏈開發實戰:基于JavaScript 的公鏈與DApp 開發 ( 簡體 字) |
作者:梁培利 曹帥 吳延毅 | 類別:1. -> 程式設計 -> 區塊鏈 2. -> 程式設計 -> 網路編程 -> Javascript |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 51587 詢問書籍請說出此書號!【有庫存】 NT售價: 445 元 |
出版日:8/12/2019 |
頁數:238 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111633044 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:隨著區塊鏈技術的火熱以及區塊鏈應用開發平臺的出現,越來越多的普通開發者都需要掌握區塊鏈應用的開發,本書可帶領讀者快速入門區塊鏈開發。
本書由ASCH 核心開發工程師撰寫,深入淺出地介紹了區塊鏈應用的開發方法與技巧,任何有JavaScript基礎的開發人員都可以掌握,分為三大部分,第壹部分“區塊鏈”介紹區塊鏈技術簡史、商業價值、核心概念、賬戶模型、主流區塊鏈項目、區塊鏈領域的新技術,并帶領讀者用300行代碼實現一個區塊鏈系統。第二部分“ASCH 源碼解讀”詳細介紹ASCH的技術架構、ASCH啟動過程、加密和驗證方式、P2P技術、交易流程、區塊鏈實現、DPOS+PBFT、側鏈技術實現等。第三部分“去中心化應用(DApp)開發”介紹一個綜合DApp案例開發,包括準備工作、DApp 開發工具、搭建開發環境、設計數據結構、實現業務邏輯、引入主鏈資產、如何對 DApp 進行測試、發布方式等。
|
目錄:序言 前言 第一部分 區塊鏈開發概述 第1章 自己動手實現一個區塊鏈系統3 1.1 從比特幣到區塊鏈3 1.1.1 比特幣的誕生和發展3 1.1.2 區塊鏈5 1.2 用300 行代碼開發一個區塊鏈系統13 1.2.1 區塊和區塊鏈的創建13 1.2.2 工作量證明19 1.2.3 提供和區塊鏈進行交互的API22 1.3 本章總結30 第2章 DApp開發簡介32 2.1 智能合約32 2.2 DApp簡介34 2.3 區塊鏈應用開發平臺簡介37 2.3.1 以太坊38 2.3.2 Asch40 2.3.3 Hyperledger41 2.4 本章總結42 第二部分 Asch源碼解讀 第3章 Asch—區塊鏈應用開發平臺47 3.1 Asch的誕生和架構47 3.2 開發工具50 3.3 客戶端的基本使用50 3.4 如何基于 Asch 注冊自己的資產55 3.5 DApp案例簡介57 3.6 本章總結58 第4章 Asch源碼概覽59 4.1 Asch生態架構59 4.2 asch庫簡要解讀60 4.2.1 數據結構61 4.2.2 合約62 4.2.3 接口63 4.2.4 配置文件64 4.3 asch-core庫簡要解讀64 4.4 Asch主鏈的啟動流程66 4.4.1 app.js66 4.4.2 index.js68 4.4.3 runtime.js69 4.4.4 init.js70 4.5 本章總結72 第5章 賬戶與安全73 5.1 區塊鏈里的密碼學73 5.1.1 非對稱加密73 5.1.2 ECDSA算法75 5.2 Asch的賬戶生成流程80 5.2.1 BIP 3980 5.2.2 ED2551982 5.3 Asch的賬戶類型82 5.4 本章總結84 第6章 共識機制86 6.1 拜占庭將軍問題86 6.2 區塊鏈的共識算法88 6.3 從 DPoS 到 PBFT89 6.3.1 DPoS算法89 6.3.2 PBFT算法91 6.4 共識算法源碼解讀93 6.4.1 base/consensus.js94 6.4.2 core/delegates.js96 6.5 本章總結102 第7章 區塊104 7.1 區塊鏈的數據結構104 7.2 區塊的源碼解讀105 7.2.1 base/block.js106 7.2.2 core/blocks.js110 7.3 本章總結122 第8章 交易123 8.1 Asch上的交易類型123 8.2 交易的生命周期及其實現124 8.2.1 創建交易124 8.2.2 廣播交易127 8.2.3 驗證交易127 8.2.4 寫入區塊鏈129 8.3 本章總結130 第9章 跨鏈實現132 9.1 跨鏈技術的提出與探索132 9.2 比特幣多簽名交易的實現135 9.2.1 m-of-n 多簽名交易的腳本135 9.2.2 多簽名腳本的執行136 9.2.3 比特幣里實現多簽名交易137 9.2.4 兌現多簽名交易142 9.3 Asch的跨鏈實現149 9.3.1 網關提案的發起與投票150 9.3.2 跨鏈賬戶的開通156 9.3.3 對跨鏈網關的充值與提現159 9.3.4 對跨鏈網關的提現160 9.4 本章總結166 第三部分 DApp開發實戰 第10章 DApp設計與開發環境搭建169 10.1 DApp整體設計169 10.1.1 前期準備169 10.1.2 業務需求描述170 10.1.3 角色171 10.1.4 經濟模型172 10.1.5 代碼設計174 10.1.6 DApp 的目錄結構176 10.2 開發環境搭建184 10.2.1 Asch 的網絡類型184 10.2.2 配置 localnet185 10.2.3 DApp Demo187 10.3 本章總結193 第11章 DApp合約開發與接口實現194 11.1 DApp合約的開發194 11.1.1 創建頻道(createChannel)195 11.1.2 更新頻道(updateChannel)198 11.1.3 發布文章(postArticle)199 11.1.4 打賞文章(voteArticle)202 11.1.5 抽獎設計207 11.1.6 發布評論(postComment)208 11.1.7 點贊評論(likeComment)209 11.1.8 舉報(report)210 11.1.9 結算抽獎(calculatePrize)211 11.1.10 領取獎勵(getReward)214 11.2 DApp 接口的實現215 11.2.1 頻道接口217 11.2.2 文章接口219 11.2.3 投票接口222 11.3 DApp的前端實現224 11.3.1 登錄224 11.3.2 調用合約225 11.3.3 調用接口226 11.4 本章總結226 第12章 DApp測試227 12.1 測試準備227 12.1.1 初始化函數227 12.1.2 區塊等待229 12.1.3 賬戶生成與轉賬229 12.2 合約流程測試233 12.3 本章總結238 |
序: |