Python區塊鏈應用開發從入門到精通

高野,辛智勇,肖岩,鄭一鳴 編著

  • 出版商: 北京大學
  • 出版日期: 2025-01-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 306
  • 裝訂: 平裝
  • ISBN: 7301357966
  • ISBN-13: 9787301357965
  • 相關分類: 區塊鏈 Blockchain
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

《Python區塊鏈應用開發從入門到精通》全面系統地介紹了Python語言區塊鏈應用工程師所需的基礎知識和相關技術,主要分為P​​ython基礎篇、區塊鏈技術篇和區塊鏈開發篇三部分。
全書共10章,其中第1~3章為Python基礎篇,介紹Python語法基礎、Python的語法特色、Python與資料庫操作等內容;第4~6章為區塊鏈技術篇,介紹初識區塊鏈、區塊鏈的技術原理、區塊鏈技術的發展趨勢;第7~10章為區塊鏈開發篇,介紹Solidity智能合約開發的入門和進階、Python語言離線錢包開發、透過Python和Solidity開發一個“賞金任務系統”,專案中將使用FISCO BCOS聯盟鏈作為基礎,結合Django框架,並應用Python-SDK與區塊鏈互動完成資料的讀寫操作,完成一個區塊鏈的Web專案。
《Python區塊鏈應用開發從入門到精通》內容系統全面,案例豐富翔實,既適合想學習Python語言編程和區塊鏈開發的初學者閱讀,也適合作為區塊鏈行業從業者、金融科技愛好者的學習用書,也可以作為廣大職業院校相關專業的教材參考用書。

作者簡介

高野
----------------------------
高野,畢業於吉林大學電腦科學與技術專業,曾先後就職於中國聯通、飛創科技(大商所下屬子公司)、傳智播客,現任京北方區塊鏈架構師,FISCO-BCOS社群MVP, Aptos技術大使。 2017年開始研究區塊鏈,熟悉以太坊、FISCO-BCOS、Aptos、HyperLedger Fabric等主流公鏈及聯盟鏈平台應用開發,多次參加企業內訓及技術分享,線上、線上授課經驗豐富,培養的學生遍佈全球。
著有《Go語言區塊鏈應用開發從入門到精通》一書,參與了螞蟻鏈白皮書的編寫。
辛智勇
----------------------------
辛智勇,2019年開始研究區塊鏈相關技術,熟悉比特幣、以太坊等主流技術,長期從事電腦軟體的設計與開發工作。曾任職於中興通訊、四維圖新,並曾擔任研發部門總經理、技術專家、資深技術顧問。北京市科學技術委員會科技評審專家;生態聚合平台Aptos Eden高級技術顧問。
肖岩
----------------------------
肖岩,畢業於中原工學院軟體工程專業,前北大青鳥訓練講師。現任職於上市公司開發工程師,大前端開發工程師。生態聚合平台Aptos Eden技術顧問。熟悉Python、Kotlin、Java、JavaScript等多種開發語言,自2018年起長期專注於區塊鏈相關技術,推動區塊鏈、聯盟鏈等相關技術在實際專案中落地使用。
鄭一鳴
----------------------------
鄭一鳴,前京東演算法工程師,現獨立開發者,擅長Python、Solidity、Rust 等,706 Creators社群多個Web3課程的發起人,包括zkp、Rust、Move等,長期關注以太坊生態與底層服務開發,熱愛社群空間營造與青年創新教育。

目錄大綱

第1篇 Python基礎篇
第1章 Python語法基礎
1.1 初識Python
1.1.1 為什麼要學Python
1.1.2 Python開發環境搭建
1.1.3 選擇一個適合的IDE
1.1.4 寫下你的第一個Python程序
1.2 Python基礎語法
1.2.1 資料類型
1.2.2 常用操作符
1.2.3 流程控制語句
1.2.4 了解Python的程式設計風格
1.3 輸入輸出(IO)
1.3.1 檔案的開啟與讀取
1.3.2 檔案與目錄操作
1.3.3 JSON格式處理
1.4 函數
1.4.1 函數的基本定義
1.4.2 函數的調用
1.4.3 遞歸函數
1.4.4 匿名函數
1.4.5 裝飾器
1.5 異常處理
1.5.1 錯誤處理思想
1.5.2 try語句使用
1.5.3 斷言語句
1.6 物件導向編程
1.6.1 物件導向的程式設計思想
1.6.2 Python的物件導向特色
第2章 Python的語法特色
2.1 Python的資料處理工具
2.1.1 迭代器
2.1.2 切片
2.1.3 數據生成器
2.1.4 lambda表達式
2.2 模組與包
2.2.1 第三方模組的安裝與使用
2.2.2 NumPy
2.2.3 OpenPyXL
2.2.4 Shapely
2.3 並發編程
2.3.1 並發程式設計思想
2.3.2 多進程編程
2.3.3 多線程編程
2.4 正規表示式
2.4.1 正規表示式的基本規則
2.4.2 在Python中處理正規表示式
2.5 標準庫的使用
2.5.1 Map簡介
2.5.2 Reduce簡介
2.5.3 sorted簡介
2.5.4 filter簡介
2.6 網路程式設計
2.6.1 TCP協定簡介
2.6.2 如何搭建TCP伺服器
2.6.3 HTTP協定簡介
2.6.4 如何搭建Web伺服器
第3章 Python與資料庫操作
3.1 Python與關係型資料庫
3.1.1 Python與MySQL開發環境準備
3.1.2 透過Python對MySQL資料進行增改刪
3.1.3 透過Python查詢MySQL數據
3.2 Python與非關係型資料庫
3.2.1 Python與MongoDB開發環境準備
3.2.2 透過Python操作MongoDB資料庫
3.2.3 Python與Redis開發環境準備
3.2.4 透過Python操作Redis資料庫
第2篇 區塊鏈技術篇
第4章 初識區塊鏈
4.1 區塊鏈的誕生與發展
4.1.1 區塊鏈的誕生
4.1.2 認識密碼龐克組織
4.1.3 區塊鏈技術的高速發展
4.2 P2P網絡
4.2.1 P2P網路概述
4.2.2 P2P網路的搭建重點
4.2.3 區塊鏈網路的資料同步機制
4.3 區塊鏈的資料結構
4.3.1 哈希函數
4.3.2 時序的鏈塊式結構
4.3.3 梅克爾樹
4.4 PoW機制
4.4.1 分散式網路中共識的意義
4.4.2 什麼是PoW
4.4.3 PoW的本質原理
4.5 UTXO與交易
4.5.1 什麼是UTXO
4.5.2 比特幣交易模型
4.5.3 交易腳本
4.6 區塊鏈帳本的安全與挑戰
4.6.1 雙花攻擊
4.6.2 51%攻擊
4.6.3 激勵相容
第5章 區塊鏈的技術原理
5.1 以太坊詳解
5.1.1 以太坊概述
5.1.2 智能合約
5.1.3 外部帳戶與合約帳戶
5.1.4 世界狀態樹
5.1.5 以太坊經濟體
5.2 區塊鏈的共識演算法
5.2.1 PoS原理
5.2.2 DPoS原理
5.2.3 PBFT原理
5.3 區塊鏈的技術方向
5.3.1 跨鏈
5.3.2 同態加密
5.3.3 零知識證明
5.3.4 二層網路(Layer2)
5.3.5 NFT
第6章 區塊鏈技術的發展趨勢
6.1 公鏈與聯盟鏈
6.1.1 公鏈與聯盟鏈的對比
6.1.2 常見聯盟鏈平台
6.1.3 BaaS平台
6.1.4 區塊鏈應用的合規性
6.2 聯盟鏈與基礎建設
6.2.1 數位化身份
6.2.2 數位人民幣
6.2.3 存證溯源平台
6.3 公鏈的熱門應用方向
6.3.1 去中心化交易所
6.3.2 DeFi應用簡介
6.3.3 IPFS應用簡介
6.3.4 DFINITY應用簡介
第3篇 區塊鏈開發篇
第7章 Solidity智能合約開發入門
7.1 智能合約運作原理與環境搭建
7.1.1 智能合約的概念
7.1.2 智能合約的運作機制
7.1.3 智能合約運作三要素
7.1.4 智能合約開發環境搭建
7.1.5 Remix環境簡介
7.1.6 初識Solidity
7.2 Solidity基礎語法
7.2.1 Solidity基礎資料類型
7.2.2 函數
7.2.3 修飾符
7.2.4 內建對象
7.2.5 內建函數
7.2.6 事務控制
7.2.7 自訂修飾符
7.3 複合資料型態與資料結構
7.3.1 自訂結構
7.3.2 數組和動態數組
7.3.3 映射
7.3.4 address類型
7.3.5 memory與storage
7.4 Solidity物件導向編程
7.4.1 接口
7.4.2 函數選擇器與介面ID
7.4.3 library
7.4.4 合約繼承
7.4.5 abstract關鍵字
第8章 Solidity智能合約開發進階
8.1 Solidity經典案例
8.1.1 智能合約開發的一般步驟
8.1.2 土豪發紅包
8.1.3 我要開銀行
8.1.4 智能拍賣
8.2 ERC標準
8.2.1 ERC概述
8.2.2 ERC-20標準
8.2.3 ERC-165標準
8.2.4 ERC-721(NFT標準)
8.3 可升級合約
8.3.1 不可篡改與可升級之間的矛盾
8.3.2 跨合約調用
8.3.3 透過底層函數呼叫合約
8.3.4 主—從式可升級合約
8.3.5 代理程式—儲存式可升級合約
8.4 合約開發最佳實踐
8.4.1 最佳實務概述
8.4.2 工廠模式
8.4.3 儲存註冊表模式
8.4.4 遍歷表迭代器
8.4.5 避免重入攻擊
8.4.6 警惕外部合約調用
8.5 Python與智能合約調用
8.5.1 RPC原理分析
8.5.2 Python-SDK簡介
8.5.3 Python呼叫智能合約步驟
8.5.4 節點連接
8.5.5 ABI分析與編譯
8.5.6 透過Python調用智能合約
第9章 Python語言離線錢包開發
9.1 區塊鏈錢包原理
9.1.1 區塊鏈錢包的核心原理
9.1.2 助記詞如何產生與驗證
9.1.3 如何儲存私鑰
9.2 區塊鏈錢包核心功能實現
9.2.1 錢包如何支援Coin轉移
9.2.2 錢包如何支援Coin查詢
9.2.3 ERC-20標準實現與部署
9.2.4 錢包如何支援Token轉移
9.2.5 錢包如何支援Token查詢
9.2.6 事件訂閱
第10章 專案實戰:開發「賞金任務系統」區塊鏈
10.1 專案需求分析與通證設計
10.1.1 項目需求與痛點分析
10.1.2 專案整體設計
10.1.3 FISCO BCOS簡介
10.1.4 建置FISCO BCOS開發環境
10.1.5 SDK的使用
10.2 企業級智能合約設計與實現
10.2.1 用戶合約設計與實現
10.2.2 積分合約設計與實現
10.2.3 任務合約設計與實現
10.3 賞金任務系統核心功能實現
10.3.1 Django簡介與安裝
10.3.2 Django的基礎使用
10.3.3 用戶註冊功能的實現
10.3.4 登入與Session處理
10.3.5 任務發布
10.3.6 任務資訊查詢
10.3.7 任務狀態變更
10.3.8 項目總結