幫助中心 | 我的帳號 | 關於我們

Solidity智能合約開發技術與實戰/區塊鏈技術開發系列

  • 作者:編者:李曉黎|責編:王宣
  • 出版社:人民郵電
  • ISBN:9787115589439
  • 出版日期:2022/12/01
  • 裝幀:平裝
  • 頁數:288
人民幣:RMB 86 元      售價:
放入購物車
加入收藏夾

內容大鋼
    在區塊鏈發展歷程中,以太坊的誕生具有里程碑式的意義。本書介紹使用Solidity開發以太坊智能合約DApp的方法,內容涵蓋Solidity的基本語法,使用開發框架Truffle開發、部署、測試以太坊DApp的方法,通過以太坊測試網路進行交易的方法,開發安全智能合約所應遵守的規範和對智能合約進行安全審計的方法等。讀者在閱讀本書時可以充分了解和體驗以太坊智能合約的強大功能,以及使用Solidity開發以太坊智能合約DApp的便利。
    本書可作為高等院校電腦、軟體工程、大數據、人工智慧等專業相關課程的教材,也可供區塊鏈應用程序開發人員參考使用。

作者介紹
編者:李曉黎|責編:王宣
    李曉黎,軟體開發工程師,畢業於吉林大學電腦系;自2006年以來,帶領團隊一直從事網路管理軟體、企業ERP系統和電商平台等的開發與建設工作,具有中國投資銀行、國家開發銀行、中信銀行等多家銀行從業經歷,參與銀行信息化建設、網銀平台開發、區塊鏈與智能合約開發工作多年,在系統軟體開發、團隊組織管理和系統架構設計等領域積累了豐富的實戰經驗。

目錄
第1章  區塊鏈技術基礎
  1.1  從比特幣說起
    1.1.1  比特幣的發展歷程
    1.1.2  什麼是比特幣系統
    1.1.3  共識演算法和比特幣的挖礦
    1.1.4  雙花問題
    1.1.5  區塊鏈技術賦予比特幣「價值」
  1.2  區塊鏈的工作原理及底層技術
    1.2.1  分散式系統的概念
    1.2.2  區塊鏈的架構設計
    1.2.3  加密演算法
    1.2.4  區塊鏈的分類
    1.2.5  區塊鏈為什麼會成為國家戰略
    1.2.6  區塊鏈技術的發展歷程
    1.2.7  智能合約
    1.2.8  區塊鏈的編程語言
  1.3  本章小結
  習題
第2章  以太坊區塊鏈
  2.1  以太坊的發展歷程與特色
    2.1.1  以太坊的誕生與發展
    2.1.2  以太坊與比特幣系統的對比
  2.2  以太坊的工作原理
    2.2.1  以太坊節點
    2.2.2  以太坊的狀態機
    2.2.3  以太坊網路的總體架構
    2.2.4  DApp
    2.2.5  DApp瀏覽器
    2.2.6  以太坊的數據結構與存儲方式
    2.2.7  以太坊的分叉
    2.2.8  Gas和以太幣
    2.2.9  以太坊賬戶、錢包和交易
    2.2.10  以太坊的PoS共識演算法
  2.3  搭建以太坊私有鏈
    2.3.1  搭建測試環境
    2.3.2  安裝以太坊客戶端Geth
    2.3.3  初始化創世區塊
    2.3.4  創建開發者賬戶
    2.3.5  以開發者模式啟動私有鏈
    2.3.6  私有鏈賬戶管理
    2.3.7  在私有鏈中挖礦
    2.3.8  轉賬操作
  2.4  本章小結
  習題
第3章  Solidity編程基礎
  3.1  Solidity的第一個示常式序
    3.1.1  實時在線Solidity編輯器Remix
    3.1.2  Solidity Hello World程序
    3.1.3  使用Visual Studio Code開發Solidity程序
  3.2  常量和變數

    3.2.1  常量
    3.2.2  變數
  3.3  基本數據類型
    3.3.1  字元串型
    3.3.2  整型
    3.3.3  定長浮點型
    3.3.4  布爾類型
    3.3.5  地址類型
    3.3.6  合約類型
  3.4  複合數據類型
    3.4.1  枚舉類型
    3.4.2  結構體
    3.4.3  映射
    3.4.4  數組
  3.5  本章小結
  習題
第4章  常用語句
  4.1  賦值語句
  4.2  分支語句
    4.2.1  if語句
    4.2.2  if...else if...else...語句
  4.3  循環語句
    4.3.1  for語句
    4.3.2  while語句
    4.3.3  do...while...語句
  4.4  本章小結
  習題
第5章  智能合約與函數
  5.1  智能合約編程基礎
    5.1.1  狀態變數的可見性
    5.1.2  智能合約的構造函數
    5.1.3  智能合約之間的繼承
  5.2  函數編程基礎
    5.2.1  定義函數
    5.2.2  函數修飾符
    5.2.3  函數的參數
  5.3  函數的高級應用
    5.3.1  自毀函數
    5.3.2  內置函數
    5.3.3  函數重載
  5.4  外部函數
    5.4.1  導入外部函數
    5.4.2  函數庫
    5.4.3  Fallback函數
  5.5  抽象合約、介面和繼承
    5.5.1  抽象合約
    5.5.2  介面
    5.5.3  繼承
  5.6  異常處理函數
    5.6.1  assert()函數

    5.6.2  require()函數
    5.6.3  revert()函數
  5.7  本章小結
  習題
第6章  以太坊JavaScript API——Web3.js
  6.1  Web3.js概述
    6.1.1  什麼是Web3.js
    6.1.2  安裝Web3.js
    6.1.3  第一個Web3.js的小實例
    6.1.4  在網頁中使用Web3.js
    6.1.5  本章實例的執行環境
    6.1.6  JavaScript Promise對象
  6.2  區塊編程
    6.2.1  標識區塊
    6.2.2  獲取當前區塊編號
    6.2.3  獲取默認區塊編號
    6.2.4  獲取指定區塊詳情
    6.2.5  獲取指定叔區塊
  6.3  以太坊賬戶與交易編程
    6.3.1  獲取賬戶列表
    6.3.2  默認賬戶和幣基賬戶
    6.3.3  獲取賬戶餘額
    6.3.4  獲取指定區塊中的交易數量
    6.3.5  獲取指定區塊中的交易詳情
    6.3.6  根據交易哈希獲取交易對象
    6.3.7  獲取交易的收據對象
    6.3.8  向以太坊網路提交交易
    6.3.9  估算交易的Gas用量
  6.4  智能合約編程基礎
    6.4.1  以太坊智能合約的ABI
    6.4.2  以太坊智能合約的位元組碼
    6.4.3  在Visual Studio Code中生成智能合約的ABI和位元組碼
    6.4.4  JSON-RPC
  6.5  在Web3.js中與智能合約進行交互
    6.5.1  創建合約對象
    6.5.2  調用合約函數
  6.6  Web3.js開發實例:「明日之星」在線投票
    6.6.1  編寫投票智能合約
    6.6.2  部署和測試投票智能合約
  6.7  本章小結
  習題
第7章  事件與日誌
  7.1  事件
    7.1.1  事件模型
    7.1.2  定義和觸發事件
    7.1.3  在Web3.js中監聽事件
  7.2  日誌
    7.2.1  在Remix中查看日誌數據
    7.2.2  底層日誌介面
    7.2.3  檢索日誌

  7.3  本章小結
  習題
第8章  以太坊DAPP開發框架Truffle
  8.1  Truffle開發框架概述
    8.1.1  Truffle開發框架的基本特性
    8.1.2  安裝Truffle開發框架
    8.1.3  選擇以太坊客戶端
    8.1.4  個人區塊鏈Ganache
  8.2  Truffle項目管理
    8.2.1  創建項目
    8.2.2  配置Truffle項目
    8.2.3  編譯合約
    8.2.4  部署合約
  8.3  智能合約編程
    8.3.1  與合約進行交互
    8.3.2  Truffle Develop
    8.3.3  Truffle框架與智能合約MetaCoin交互的前端應用示例
    8.3.4  在Truffle框架中使用MetaMask
    8.3.5  使用Truffle react項目模板開發基於以太坊智能合約的DApp
  8.4  測試合約
    8.4.1  Mocha測試框架簡介
    8.4.2  使用JavaScript編寫測試腳本
    8.4.3  使用Solidity編寫測試腳本
  8.5  Truffle示例項目寵物商店pet-shop
    8.5.1  創建pet-shop項目
    8.5.2  編寫智能合約
    8.5.3  編譯和部署智能合約
    8.5.4  開發前端應用
    8.5.5  安裝並配置MetaMask錢包
    8.5.6  運行應用程序
  8.6  本章小結
  習題
第9章  以太坊測試網路
  9.1  主網路和測試網路
    9.1.1  以太坊測試網路概述
    9.1.2  獲取測試幣
  9.2  通過Infura節點集群連接以太坊網路
    9.2.1  註冊Infura賬戶
    9.2.2  通過Infura連接以太坊網路
    9.2.3  項目ID和項目密鑰
    9.2.4  白名單
    9.2.5  部署智能合約到Ropsten網路
  9.3  在測試網路中基於Web3.js完成以太坊交易
    9.3.1  以太坊交易的過程
    9.3.2  使用ethereumjs-tx實現與以太坊的交易
    9.3.3  完整的交易實例
  9.4  本章小結
  習題
第10章  編寫安全的智能合約
  10.1  以太坊智能合約安全設計的基本原則

    10.1.1  需要遵循的安全理念
    10.1.2  從軟體工程技術角度規避風險
    10.1.3  開發文檔
    10.1.4  關於報錯賞金
  10.2  常見的針對智能合約的攻擊
    10.2.1  重入問題
    10.2.2  搶先交易
    10.2.3  強制發送以太幣到智能合約
  10.3  智能合約開發過程中的安全建議
    10.3.1  關於以太坊智能合約系統開發的建議
    10.3.2  Solidity的安全問題
  10.4  智能合約的安全審計
    10.4.1  如何對智能合約進行審計
    10.4.2  一個審計報告的例子
    10.4.3  使用Mythril分析Solidity智能合約的安全漏洞
  10.5  本章小結
  習題

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032