類似推薦
編輯推薦
區(qū)塊鏈技術與實踐:介紹以太坊和比特幣公鏈DApp開發(fā)技巧。
內容簡介
本書從必要的理論知識到編碼實踐,循序漸進地介紹以太坊和比特幣公鏈DApp開發(fā)的技術要點。全書主要內容分4大部分:第一部分介紹區(qū)塊鏈的一些重要基礎知識;第二部分全面地介紹以太坊公鏈的應用基礎,內容包含但不限于以太坊的大量術語;第三部分介紹以太坊智能合約整體開發(fā)與部署實踐;第四部分以以太坊DApp錢包開發(fā);第四部分介紹比特幣的基礎知識和比特幣公鏈DApp開發(fā)實踐。本書注重應用,代碼注釋詳盡,適合IT技術開發(fā)者閱讀,對于想了解以太坊和比特幣公鏈及其DApp開發(fā)技術的人員尤為合適。
章節(jié)目錄
封面頁
書名頁
版權頁
內容簡介
作者簡介
前言
目錄
第1章 區(qū)塊鏈基礎知識
1.1 認識區(qū)塊鏈
1.1.1 區(qū)塊鏈的概念
1.1.2 鏈的分類
1.1.3 區(qū)塊鏈能做什么
1.2 共識的作用
1.3 常見的共識算法
1.3.1 PoW算法
1.3.2 PoS算法
1.3.3 DPoS算法
1.3.4 共識算法的編碼實現(xiàn)
1.4 鏈的分叉
1.4.1 軟分叉
1.4.2 硬分叉
1.4.3 常見的分叉情況
1.4.4 PoW共識機制的51%算力攻擊
1.5 小結
第2章 以太坊基礎知識
2.1 什么是以太坊
2.2 以太坊的架構
2.3 什么是DApp
2.3.1 DApp概述
2.3.2 以太坊上的DApp
2.4 區(qū)塊的組成
2.4.1 區(qū)塊的定義
2.4.2 以太坊地址(錢包地址)
2.4.3 Nonce的作用
2.4.4 燃料費
2.4.5 GasUsed的計算
2.4.6 叔塊
2.4.7 挖礦獎勵
2.5 賬戶模型
2.5.1 比特幣UTXO模型
2.5.2 Trie樹
2.5.3 Patricia Trie樹
2.5.4 默克爾樹(Merkle Tree)
2.5.5 以太坊MPT樹
2.5.6 MPT樹節(jié)點存儲到數(shù)據庫
2.5.7 組建一棵MPT樹
2.5.8 MPT樹如何體現(xiàn)默克爾樹的驗證特點
2.5.9 以太坊錢包地址存儲余額的方式
2.5.10 余額查詢的區(qū)塊隔離性
2.5.11 余額的查詢順序
2.5.12 UTXO模型和Account模型的對比
2.6 以太坊的版本演變
2.6.1 以太坊與PoW共識機制
2.6.2 君士坦丁堡
2.7 以太坊Ghost協(xié)議
2.8 Casper:PoS的變種共識機制
2.8.1 如何成為驗證人
2.8.2 驗證人如何獲取保證金
2.8.3 候選區(qū)塊的產生
2.8.4 勝出區(qū)塊的判斷
2.9 智能合約
2.9.1 簡介與作用
2.9.2 合約標準
2.10 以太坊交易
2.10.1 交易的發(fā)起者、類型及發(fā)起交易的函數(shù)
2.10.2 交易和智能合約的關系
2.10.3 交易參數(shù)的說明
2.10.4 交易方法的真實含義
2.10.5 交易的狀態(tài)
2.10.6 交易的打包
2.11 “代幣”余額
2.12 以太坊瀏覽器
2.12.1 區(qū)塊鏈瀏覽器訪問合約函數(shù)
2.12.2 區(qū)塊鏈瀏覽器查看交易記錄
2.12.3 非ETH交易記錄不能作為資產轉賬成功的依據
2.12.4 區(qū)塊鏈瀏覽器查看智能合約的代碼
2.13 以太坊零地址
2.13.1 零地址的交易轉出假象
2.13.2 零地址的意義
2.14 以太坊2.0
2.14.1 核心組件
2.14.2 共識的流程
2.14.3 嚴謹?shù)碾S機選擇
2.15 小結
第3章 智能合約的編寫、發(fā)布和調用
3.1 智能合約與以太坊DApp
3.2 認識Remix
3.3 實現(xiàn)加法程序
3.4 實現(xiàn)ERC20代幣智能合約
3.4.1 定義標準變量
3.4.2 事件與構造函數(shù)
3.4.3 Solidity的常見關鍵字
3.4.4 授權與余額
3.4.5 轉賬函數(shù)
3.4.6 合約的代碼安全
3.5 鏈上的合約
3.6 認識Mist
3.6.1 節(jié)點的切換
3.6.2 區(qū)塊的同步方式
3.7 創(chuàng)建以太坊錢包
3.8 使用Mist轉賬代幣
3.9 使用Mist發(fā)布智能合約
3.9.1 合約Solidity源碼
3.9.2 認識ABI
3.9.3 提取ABI和Bytecode
3.9.4 使用Bytecode發(fā)布合約
3.9.5 使用合約的函數(shù)
3.10 Mist的替換品MyCrypto
3.10.1 安裝MyCrypto
3.10.2 切換節(jié)點網絡
3.10.3 使用MyCrypto創(chuàng)建錢包
3.10.4 使用MyCrypto轉賬代幣
3.10.5 使用MyCrypto部署智能合約
3.11 小結
第4章 以太坊中繼基礎接口
4.1 認識以太坊中繼
4.2 區(qū)塊遍歷
4.3 RPC接口
4.4 以太坊接口
4.4.1 重要接口詳解
4.4.2 節(jié)點鏈接
4.4.3 獲取鏈接
4.4.4 進行測試
4.4.5 獲取測試幣
4.5 項目準備
4.6 創(chuàng)建項目
4.7 第一個Go程序
4.8 封裝RPC客戶端
4.8.1 下載依賴庫
4.8.2 編寫RPC客戶端
4.8.3 單元測試
4.9 編寫訪問接口代碼
4.9.1 認識Call函數(shù)
4.9.2 查找請求的參數(shù)
4.9.3 實現(xiàn)獲取交易信息
4.9.4 認識BatchCall函數(shù)
4.9.5 批量獲取交易信息
4.9.6 批量獲取代幣余額
4.9.7 獲取最新區(qū)塊號
4.9.8 根據區(qū)塊號獲取區(qū)塊信息
4.9.9 根據區(qū)塊哈希值獲取區(qū)塊信息
4.9.10 使用eth_call訪問智能合約函數(shù)
4.10 小結
第5章 中繼服務程序的開發(fā)
5.1 創(chuàng)建以太坊錢包
5.1.1 以太坊錢包術語
5.1.2 創(chuàng)建錢包
5.2 實現(xiàn)以太坊交易
5.2.1 以太坊交易的原理
5.2.2 以太坊ETH的交易
5.3 區(qū)塊事件監(jiān)聽
5.3.1 創(chuàng)建數(shù)據庫
5.3.2 實現(xiàn)數(shù)據庫的連接器
5.3.3 生成數(shù)據表
5.3.4 區(qū)塊遍歷器
5.3.5 理解監(jiān)聽區(qū)塊事件
5.4 小結
第6章 比特幣技術基礎
6.1 比特幣的架構
6.2 獎勵機制
6.3 再看PoW共識
6.3.1 比特幣區(qū)塊頭
6.3.2 比特幣PoW的源碼實現(xiàn)
6.3.3 比特幣難度值的計算
6.4 地址的格式
6.4.1 私鑰
6.4.2 公鑰
6.4.3 地址
6.5 比特幣虛擬機
6.5.1 虛擬機的特點
6.5.2 數(shù)據源
6.5.3 常見的操作碼
6.5.4 虛擬機源碼解析
6.6 再看UTXO
6.6.1 輸入轉換
6.6.2 交易的結構
6.6.3 統(tǒng)計余額
6.6.4 構建交易
6.7 驗簽過程
6.8 比特幣鎖定腳本
6.8.1 P2PKH
6.8.2 P2PK
6.8.3 P2SH
6.8.4 P2WPKH與P2WSH
6.9 小結
第7章 基于比特幣公鏈的DApp案例
7.1 搭建比特幣私有鏈
7.1.1 下載節(jié)點源碼
7.1.2 目錄結構
7.1.3 配置文件
7.1.4 啟動比特幣節(jié)點
7.1.5 啟動終端控制程序
7.1.6 創(chuàng)建比特幣錢包
7.1.7 導出或導入錢包私鑰
7.1.8 主網的挖礦操作
7.1.9 私有網絡挖礦
7.1.10 獲得挖礦獎勵
7.1.11 發(fā)送交易
7.2 OP_RETURN與智能合約
7.2.1 公鏈存儲數(shù)據的需求
7.2.2 比特幣的存儲數(shù)據之法
7.2.3 智能合約方案——OP_RETURN
7.2.4 代碼實現(xiàn)含有OP_RETURN的交易
7.2.5 發(fā)送OP_RETURN交易
7.2.6 解碼默認的OP_RETURN
7.2.7 OP_RETURN數(shù)據的利用
7.3 比特幣的常用RPC接口
7.3.1 重要接口介紹
7.3.2 獲取節(jié)點連接
7.3.3 獲取測試幣
7.3.4 編寫訪問RPC接口代碼
7.4 案例:實現(xiàn)獲取交易狀態(tài)的解析器
7.4.1 相關程序組件
7.4.2 流程設計
7.4.3 用鏈表實現(xiàn)隊列功能
7.4.4 實現(xiàn)解析器
7.4.5 啟動解析器
7.5 案例:構建去中心化數(shù)據存儲系統(tǒng)
7.5.1 比特幣區(qū)塊遍歷器的實現(xiàn)流程
7.5.2 創(chuàng)建數(shù)據庫
7.5.3 區(qū)塊遍歷器的代碼實現(xiàn)
7.5.4 把交易發(fā)送到本地節(jié)點
7.5.5 把數(shù)據存儲到鏈上
7.5.6 解析所存儲的數(shù)據
7.6 小結
區(qū)塊鏈DApp開發(fā):基于以太坊和比特幣公鏈是2020年由清華大學出版社出版,作者林冠宏。
溫馨提示:
得書感謝您對《區(qū)塊鏈DApp開發(fā):基于以太坊和比特幣公鏈》關注和支持,如本書內容有不良信息或侵權等情形的,請聯(lián)系本網站。