Python區(qū)塊鏈應用開發(fā)從入門到精通
定 價:89 元
- 作者:高野,辛智勇,肖巖,鄭一鳴 編著
- 出版時間:2025/1/1
- ISBN:9787301357965
- 出 版 社:北京大學出版社
- 中圖法分類:TP312.8;TP311.135.9
- 頁碼:316
- 紙張:
- 版次:1
- 開本:16開
本書全面系統(tǒng)地介紹了Python語言區(qū)塊鏈應用工程師所需的基礎知識和相關技術,主要分為Python基礎篇、區(qū)塊鏈技術篇和區(qū)塊鏈開發(fā)篇三部分。
全書共10章,其中第1~3章為Python基礎篇,介紹Python語法基礎、Python的語法特色、Python與數(shù)據(jù)庫操作等內(nèi)容;第4~6章為區(qū)塊鏈技術篇,介紹初識區(qū)塊鏈、區(qū)塊鏈的技術原理、區(qū)塊鏈技術的發(fā)展趨勢;第7~10章為區(qū)塊鏈開發(fā)篇,介紹Solidity智能合約開發(fā)的入門和進階、Python語言離線錢包開發(fā)、通過Python和Solidity開發(fā)一個“賞金任務系統(tǒng)”,項目中將使用FISCO BCOS聯(lián)盟鏈作為基礎,結(jié)合Django框架,并應用Python-SDK與區(qū)塊鏈交互完成數(shù)據(jù)的讀寫操作,完成一個區(qū)塊鏈的Web項目。
本書內(nèi)容系統(tǒng)全面,案例豐富翔實,既適合想學習Python語言編程和區(qū)塊鏈開發(fā)的初學者閱讀,也適合作為區(qū)塊鏈行業(yè)從業(yè)者、金融科技愛好者的學習用書,還可以作為廣大職業(yè)院校相關專業(yè)的教材參考用書。
高野
----------------------------
高野,畢業(yè)于吉林大學計算機科學與技術專業(yè),曾先后就職于中國聯(lián)通、飛創(chuàng)科技(大商所下屬子公司)、傳智播客,現(xiàn)任京北方區(qū)塊鏈架構師,F(xiàn)ISCO-BCOS社區(qū)MVP,Aptos技術大使。2017年開始研究區(qū)塊鏈,熟悉以太坊、FISCO-BCOS、Aptos、HyperLedger Fabric等主流公鏈及聯(lián)盟鏈平臺應用開發(fā),多次參加企業(yè)內(nèi)訓及技術分享,線上、線上授課經(jīng)驗豐富,培養(yǎng)的學生遍布全球。
著有《Go語言區(qū)塊鏈應用開發(fā)從入門到精通》一書,參與了螞蟻鏈白皮書的編寫。
辛智勇
----------------------------
辛智勇,2019年開始研究區(qū)塊鏈相關技術,熟悉比特幣、以太坊等主流技術,長期從事計算機軟件的設計和開發(fā)工作。曾就職于中興通訊、四維圖新,歷任研發(fā)部門總經(jīng)理、技術專家、高級技術顧問。北京市科學技術委員會科技評審專家;生態(tài)聚合平臺Aptos Eden高級技術顧問。
肖巖
----------------------------
肖巖,畢業(yè)于中原工學院軟件工程專業(yè),前北大青鳥培訓講師。現(xiàn)任職于上市公司開發(fā)工程師,大前端開發(fā)工程師。生態(tài)聚合平臺Aptos Eden技術顧問。熟悉Python、Kotlin、Java、JavaScript等多種開發(fā)語言,2018年起長期關注區(qū)塊鏈相關技術,推動區(qū)塊鏈、聯(lián)盟鏈等相關技術在實際項目中落地使用。
鄭一鳴
----------------------------
鄭一鳴,前京東算法工程師,現(xiàn)獨立開發(fā)者,擅長Python、Solidity、Rust 等,706 Creators社區(qū)多個Web3課程的發(fā)起人,包括zkp、Rust、Move等,長期關注以太坊生態(tài)與底層服務開發(fā),熱愛社群空間營造與青年創(chuàng)新教育。
第1篇 Python基礎篇
第1章 Python語法基礎
1.1 初識Python
1.1.1 為什么要學習Python
1.1.2 Python開發(fā)環(huán)境搭建
1.1.3 選擇一個適合的IDE
1.1.4 寫下你的第一個Python程序
1.2 Python基礎語法
1.2.1 數(shù)據(jù)類型
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 函數(shù)
1.4.1 函數(shù)的基本定義
1.4.2 函數(shù)的調(diào)用
1.4.3 遞歸函數(shù)
1.4.4 匿名函數(shù)
1.4.5 裝飾器
1.5 異常處理
1.5.1 錯誤處理思想
1.5.2 try語句使用
1.5.3 斷言語句
1.6 面向?qū)ο缶幊?
1.6.1 面向?qū)ο蟮木幊趟枷?
1.6.2 Python的面向?qū)ο筇厣?
第2章 Python的語法特色
2.1 Python的數(shù)據(jù)處理工具
2.1.1 迭代器
2.1.2 切片
2.1.3 數(shù)據(jù)生成器
2.1.4 lambda表達式
2.2 模塊與包
2.2.1 第三方模塊的安裝與使用
2.2.2 NumPy
2.2.3 OpenPyXL
2.2.4 Shapely
2.3 并發(fā)編程
2.3.1 并發(fā)編程思想
2.3.2 多進程編程
2.3.3 多線程編程
2.4 正則表達式
2.4.1 正則表達式的基本規(guī)則
2.4.2 在Python中處理正則表達式
2.5 標準庫的使用
2.5.1 Map簡介
2.5.2 Reduce簡介
2.5.3 sorted簡介
2.5.4 filter簡介
2.6 網(wǎng)絡編程
2.6.1 TCP協(xié)議簡介
2.6.2 如何搭建TCP服務器
2.6.3 HTTP協(xié)議簡介
2.6.4 如何搭建Web服務器
第3章 Python與數(shù)據(jù)庫操作
3.1 Python與關系型數(shù)據(jù)庫
3.1.1 Python與MySQL開發(fā)環(huán)境準備
3.1.2 通過Python對MySQL數(shù)據(jù)進行增改刪
3.1.3 通過Python查詢MySQL數(shù)據(jù)
3.2 Python與非關系型數(shù)據(jù)庫
3.2.1 Python與MongoDB開發(fā)環(huán)境準備
3.2.2 通過Python操作MongoDB數(shù)據(jù)庫
3.2.3 Python與Redis開發(fā)環(huán)境準備
3.2.4 通過Python操作Redis數(shù)據(jù)庫
第2篇 區(qū)塊鏈技術篇
第4章 初識區(qū)塊鏈
4.1 區(qū)塊鏈的誕生與發(fā)展
4.1.1 區(qū)塊鏈的誕生
4.1.2 認識密碼朋克組織
4.1.3 區(qū)塊鏈技術的高速發(fā)展
4.2 P2P網(wǎng)絡
4.2.1 P2P網(wǎng)絡概述
4.2.2 P2P網(wǎng)絡的搭建要點
4.2.3 區(qū)塊鏈網(wǎng)絡的數(shù)據(jù)同步機制
4.3 區(qū)塊鏈的數(shù)據(jù)結(jié)構
4.3.1 哈希函數(shù)
4.3.2 時序的鏈塊式結(jié)構
4.3.3 默克爾樹
4.4 PoW機制
4.4.1 分布式網(wǎng)絡中共識的意義
4.4.2 什么是PoW
4.4.3 PoW的本質(zhì)原理
4.5 UTXO與交易
4.5.1 什么是UTXO
4.5.2 比特幣交易模型
4.5.3 交易腳本
4.6 區(qū)塊鏈賬本的安全與挑戰(zhàn)
4.6.1 雙花攻擊
4.6.2 51%攻擊
4.6.3 激勵相容
第5章 區(qū)塊鏈的技術原理
5.1 以太坊詳解
5.1.1 以太坊概述
5.1.2 智能合約
5.1.3 外部賬戶與合約賬戶
5.1.4 世界狀態(tài)樹
5.1.5 以太坊經(jīng)濟體
5.2 區(qū)塊鏈的共識算法
5.2.1 PoS原理
5.2.2 DPoS原理
5.2.3 PBFT原理
5.3 區(qū)塊鏈的技術方向
5.3.1 跨鏈
5.3.2 同態(tài)加密
5.3.3 零知識證明
5.3.4 二層網(wǎng)絡(Layer2)
5.3.5 NFT
第6章 區(qū)塊鏈技術的發(fā)展趨勢
6.1 公鏈與聯(lián)盟鏈
6.1.1 公鏈與聯(lián)盟鏈的對比
6.1.2 常見聯(lián)盟鏈平臺
6.1.3 BaaS平臺
6.1.4 區(qū)塊鏈應用的合規(guī)性
6.2 聯(lián)盟鏈與基礎設施建設
6.2.1 數(shù)字化身份
6.2.2 數(shù)字人民幣
6.2.3 存證溯源平臺
6.3 公鏈的熱門應用方向
6.3.1 去中心化交易所
6.3.2 DeFi應用簡介
6.3.3 IPFS應用簡介
6.3.4 DFINITY應用簡介
第3篇 區(qū)塊鏈開發(fā)篇
第7章 Solidity智能合約開發(fā)入門
7.1 智能合約運行原理與環(huán)境搭建
7.1.1 智能合約的概念
7.1.2 智能合約的運行機制
7.1.3 智能合約運行三要素
7.1.4 智能合約開發(fā)環(huán)境搭建
7.1.5 Remix環(huán)境簡介
7.1.6 初識Solidity
7.2 Solidity基礎語法
7.2.1 Solidity基礎數(shù)據(jù)類型
7.2.2 函數(shù)
7.2.3 修飾符
7.2.4 內(nèi)建對象
7.2.5 內(nèi)建函數(shù)
7.2.6 事務控制
7.2.7 自定義修飾符
7.3 復合數(shù)據(jù)類型與數(shù)據(jù)結(jié)構
7.3.1 自定義結(jié)構
7.3.2 數(shù)組和動態(tài)數(shù)組
7.3.3 映射
7.3.4 address類型
7.3.5 memory與storage
7.4 Solidity面向?qū)ο缶幊?
7.4.1 接口
7.4.2 函數(shù)選擇器與接口ID
7.4.3 library
7.4.4 合約繼承
7.4.5 abstract關鍵字
第8章 Solidity智能合約開發(fā)進階
8.1 Solidity經(jīng)典案例
8.1.1 智能合約開發(fā)的一般步驟
8.1.2 土豪發(fā)紅包
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 跨合約調(diào)用
8.3.3 通過底層函數(shù)調(diào)用合約
8.3.4 主—從式可升級合約
8.3.5 代理—存儲式可升級合約
8.4 合約開發(fā)最佳實踐
8.4.1 最佳實踐概述
8.4.2 工廠模式
8.4.3 存儲注冊表模式
8.4.4 遍歷表迭代器
8.4.5 避免重入攻擊
8.4.6 警惕外部合約調(diào)用
8.5 Python與智能合約調(diào)用
8.5.1 RPC原理分析
8.5.2 Python-SDK簡介
8.5.3 Python調(diào)用智能合約步驟
8.5.4 節(jié)點連接
8.5.5 ABI分析與編譯
8.5.6 通過Python調(diào)用智能合約
第9章 Python語言離線錢包開發(fā)
9.1 區(qū)塊鏈錢包原理
9.1.1 區(qū)塊鏈錢包的核心原理
9.1.2 助記詞如何生成與驗證
9.1.3 如何存儲私鑰
9.2 區(qū)塊鏈錢包核心功能實現(xiàn)
9.2.1 錢包如何支持Coin轉(zhuǎn)移
9.2.2 錢包如何支持Coin查詢
9.2.3 ERC-20標準實現(xiàn)與部署
9.2.4 錢包如何支持Token轉(zhuǎn)移
9.2.5 錢包如何支持Token查詢
9.2.6 事件訂閱
第10章 項目實戰(zhàn):開發(fā)“賞金任務系統(tǒng)”區(qū)塊鏈
10.1 項目需求分析與通證設計
10.1.1 項目需求與痛點分析
10.1.2 項目整體設計
10.1.3 FISCO BCOS簡介
10.1.4 搭建FISCO BCOS開發(fā)環(huán)境
10.1.5 SDK的使用
10.2 企業(yè)級智能合約設計與實現(xiàn)
10.2.1 用戶合約設計與實現(xiàn)
10.2.2 積分合約設計與實現(xiàn)
10.2.3 任務合約設計與實現(xiàn)
10.3 賞金任務系統(tǒng)核心功能實現(xiàn)
10.3.1 Django簡介與安裝
10.3.2 Django的基礎使用
10.3.3 用戶注冊功能的實現(xiàn)
10.3.4 登錄與Session處理
10.3.5 任務發(fā)布
10.3.6 任務信息查詢
10.3.7 任務狀態(tài)變更
10.3.8 項目總結(jié)