Python區(qū)塊鏈應(yīng)用開發(fā)從入門到精通
定 價:89 元
- 作者:高野,辛智勇,肖巖,鄭一鳴 編著
- 出版時間:2025/1/1
- ISBN:9787301357965
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP312.8;TP311.135.9
- 頁碼:316
- 紙張:
- 版次:1
- 開本:16開
本書全面系統(tǒng)地介紹了Python語言區(qū)塊鏈應(yīng)用工程師所需的基礎(chǔ)知識和相關(guān)技術(shù),主要分為Python基礎(chǔ)篇、區(qū)塊鏈技術(shù)篇和區(qū)塊鏈開發(fā)篇三部分。
全書共10章,其中第1~3章為Python基礎(chǔ)篇,介紹Python語法基礎(chǔ)、Python的語法特色、Python與數(shù)據(jù)庫操作等內(nèi)容;第4~6章為區(qū)塊鏈技術(shù)篇,介紹初識區(qū)塊鏈、區(qū)塊鏈的技術(shù)原理、區(qū)塊鏈技術(shù)的發(fā)展趨勢;第7~10章為區(qū)塊鏈開發(fā)篇,介紹Solidity智能合約開發(fā)的入門和進(jìn)階、Python語言離線錢包開發(fā)、通過Python和Solidity開發(fā)一個“賞金任務(wù)系統(tǒng)”,項目中將使用FISCO BCOS聯(lián)盟鏈作為基礎(chǔ),結(jié)合Django框架,并應(yīng)用Python-SDK與區(qū)塊鏈交互完成數(shù)據(jù)的讀寫操作,完成一個區(qū)塊鏈的Web項目。
本書內(nèi)容系統(tǒng)全面,案例豐富翔實,既適合想學(xué)習(xí)Python語言編程和區(qū)塊鏈開發(fā)的初學(xué)者閱讀,也適合作為區(qū)塊鏈行業(yè)從業(yè)者、金融科技愛好者的學(xué)習(xí)用書,還可以作為廣大職業(yè)院校相關(guān)專業(yè)的教材參考用書。
高野
----------------------------
高野,畢業(yè)于吉林大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè),曾先后就職于中國聯(lián)通、飛創(chuàng)科技(大商所下屬子公司)、傳智播客,現(xiàn)任京北方區(qū)塊鏈架構(gòu)師,F(xiàn)ISCO-BCOS社區(qū)MVP,Aptos技術(shù)大使。2017年開始研究區(qū)塊鏈,熟悉以太坊、FISCO-BCOS、Aptos、HyperLedger Fabric等主流公鏈及聯(lián)盟鏈平臺應(yīng)用開發(fā),多次參加企業(yè)內(nèi)訓(xùn)及技術(shù)分享,線上、線上授課經(jīng)驗豐富,培養(yǎng)的學(xué)生遍布全球。
著有《Go語言區(qū)塊鏈應(yīng)用開發(fā)從入門到精通》一書,參與了螞蟻鏈白皮書的編寫。
辛智勇
----------------------------
辛智勇,2019年開始研究區(qū)塊鏈相關(guān)技術(shù),熟悉比特幣、以太坊等主流技術(shù),長期從事計算機(jī)軟件的設(shè)計和開發(fā)工作。曾就職于中興通訊、四維圖新,歷任研發(fā)部門總經(jīng)理、技術(shù)專家、高級技術(shù)顧問。北京市科學(xué)技術(shù)委員會科技評審專家;生態(tài)聚合平臺Aptos Eden高級技術(shù)顧問。
肖巖
----------------------------
肖巖,畢業(yè)于中原工學(xué)院軟件工程專業(yè),前北大青鳥培訓(xùn)講師,F(xiàn)任職于上市公司開發(fā)工程師,大前端開發(fā)工程師。生態(tài)聚合平臺Aptos Eden技術(shù)顧問。熟悉Python、Kotlin、Java、JavaScript等多種開發(fā)語言,2018年起長期關(guān)注區(qū)塊鏈相關(guān)技術(shù),推動區(qū)塊鏈、聯(lián)盟鏈等相關(guān)技術(shù)在實際項目中落地使用。
鄭一鳴
----------------------------
鄭一鳴,前京東算法工程師,現(xiàn)獨(dú)立開發(fā)者,擅長Python、Solidity、Rust 等,706 Creators社區(qū)多個Web3課程的發(fā)起人,包括zkp、Rust、Move等,長期關(guān)注以太坊生態(tài)與底層服務(wù)開發(fā),熱愛社群空間營造與青年創(chuàng)新教育。
第1篇 Python基礎(chǔ)篇
第1章 Python語法基礎(chǔ)
1.1 初識Python
1.1.1 為什么要學(xué)習(xí)Python
1.1.2 Python開發(fā)環(huán)境搭建
1.1.3 選擇一個適合的IDE
1.1.4 寫下你的第一個Python程序
1.2 Python基礎(chǔ)語法
1.2.1 數(shù)據(jù)類型
1.2.2 常用操作符
1.2.3 流程控制語句
1.2.4 了解Python的編碼風(fēng)格
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表達(dá)式
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 多進(jìn)程編程
2.3.3 多線程編程
2.4 正則表達(dá)式
2.4.1 正則表達(dá)式的基本規(guī)則
2.4.2 在Python中處理正則表達(dá)式
2.5 標(biāo)準(zhǔn)庫的使用
2.5.1 Map簡介
2.5.2 Reduce簡介
2.5.3 sorted簡介
2.5.4 filter簡介
2.6 網(wǎng)絡(luò)編程
2.6.1 TCP協(xié)議簡介
2.6.2 如何搭建TCP服務(wù)器
2.6.3 HTTP協(xié)議簡介
2.6.4 如何搭建Web服務(wù)器
第3章 Python與數(shù)據(jù)庫操作
3.1 Python與關(guān)系型數(shù)據(jù)庫
3.1.1 Python與MySQL開發(fā)環(huán)境準(zhǔn)備
3.1.2 通過Python對MySQL數(shù)據(jù)進(jìn)行增改刪
3.1.3 通過Python查詢MySQL數(shù)據(jù)
3.2 Python與非關(guān)系型數(shù)據(jù)庫
3.2.1 Python與MongoDB開發(fā)環(huán)境準(zhǔn)備
3.2.2 通過Python操作MongoDB數(shù)據(jù)庫
3.2.3 Python與Redis開發(fā)環(huán)境準(zhǔn)備
3.2.4 通過Python操作Redis數(shù)據(jù)庫
第2篇 區(qū)塊鏈技術(shù)篇
第4章 初識區(qū)塊鏈
4.1 區(qū)塊鏈的誕生與發(fā)展
4.1.1 區(qū)塊鏈的誕生
4.1.2 認(rèn)識密碼朋克組織
4.1.3 區(qū)塊鏈技術(shù)的高速發(fā)展
4.2 P2P網(wǎng)絡(luò)
4.2.1 P2P網(wǎng)絡(luò)概述
4.2.2 P2P網(wǎng)絡(luò)的搭建要點(diǎn)
4.2.3 區(qū)塊鏈網(wǎng)絡(luò)的數(shù)據(jù)同步機(jī)制
4.3 區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)
4.3.1 哈希函數(shù)
4.3.2 時序的鏈塊式結(jié)構(gòu)
4.3.3 默克爾樹
4.4 PoW機(jī)制
4.4.1 分布式網(wǎng)絡(luò)中共識的意義
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ū)塊鏈的技術(shù)原理
5.1 以太坊詳解
5.1.1 以太坊概述
5.1.2 智能合約
5.1.3 外部賬戶與合約賬戶
5.1.4 世界狀態(tài)樹
5.1.5 以太坊經(jīng)濟(jì)體
5.2 區(qū)塊鏈的共識算法
5.2.1 PoS原理
5.2.2 DPoS原理
5.2.3 PBFT原理
5.3 區(qū)塊鏈的技術(shù)方向
5.3.1 跨鏈
5.3.2 同態(tài)加密
5.3.3 零知識證明
5.3.4 二層網(wǎng)絡(luò)(Layer2)
5.3.5 NFT
第6章 區(qū)塊鏈技術(shù)的發(fā)展趨勢
6.1 公鏈與聯(lián)盟鏈
6.1.1 公鏈與聯(lián)盟鏈的對比
6.1.2 常見聯(lián)盟鏈平臺
6.1.3 BaaS平臺
6.1.4 區(qū)塊鏈應(yīng)用的合規(guī)性
6.2 聯(lián)盟鏈與基礎(chǔ)設(shè)施建設(shè)
6.2.1 數(shù)字化身份
6.2.2 數(shù)字人民幣
6.2.3 存證溯源平臺
6.3 公鏈的熱門應(yīng)用方向
6.3.1 去中心化交易所
6.3.2 DeFi應(yīng)用簡介
6.3.3 IPFS應(yīng)用簡介
6.3.4 DFINITY應(yīng)用簡介
第3篇 區(qū)塊鏈開發(fā)篇
第7章 Solidity智能合約開發(fā)入門
7.1 智能合約運(yùn)行原理與環(huán)境搭建
7.1.1 智能合約的概念
7.1.2 智能合約的運(yùn)行機(jī)制
7.1.3 智能合約運(yùn)行三要素
7.1.4 智能合約開發(fā)環(huán)境搭建
7.1.5 Remix環(huán)境簡介
7.1.6 初識Solidity
7.2 Solidity基礎(chǔ)語法
7.2.1 Solidity基礎(chǔ)數(shù)據(jù)類型
7.2.2 函數(shù)
7.2.3 修飾符
7.2.4 內(nèi)建對象
7.2.5 內(nèi)建函數(shù)
7.2.6 事務(wù)控制
7.2.7 自定義修飾符
7.3 復(fù)合數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu)
7.3.1 自定義結(jié)構(gòu)
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關(guān)鍵字
第8章 Solidity智能合約開發(fā)進(jìn)階
8.1 Solidity經(jīng)典案例
8.1.1 智能合約開發(fā)的一般步驟
8.1.2 土豪發(fā)紅包
8.1.3 我要開銀行
8.1.4 智能拍賣
8.2 ERC標(biāo)準(zhǔn)
8.2.1 ERC概述
8.2.2 ERC-20標(biāo)準(zhǔn)
8.2.3 ERC-165標(biāo)準(zhǔn)
8.2.4 ERC-721(NFT標(biāo)準(zhǔn))
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é)點(diǎn)連接
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標(biāo)準(zhǔn)實現(xiàn)與部署
9.2.4 錢包如何支持Token轉(zhuǎn)移
9.2.5 錢包如何支持Token查詢
9.2.6 事件訂閱
第10章 項目實戰(zhàn):開發(fā)“賞金任務(wù)系統(tǒng)”區(qū)塊鏈
10.1 項目需求分析與通證設(shè)計
10.1.1 項目需求與痛點(diǎn)分析
10.1.2 項目整體設(shè)計
10.1.3 FISCO BCOS簡介
10.1.4 搭建FISCO BCOS開發(fā)環(huán)境
10.1.5 SDK的使用
10.2 企業(yè)級智能合約設(shè)計與實現(xiàn)
10.2.1 用戶合約設(shè)計與實現(xiàn)
10.2.2 積分合約設(shè)計與實現(xiàn)
10.2.3 任務(wù)合約設(shè)計與實現(xiàn)
10.3 賞金任務(wù)系統(tǒng)核心功能實現(xiàn)
10.3.1 Django簡介與安裝
10.3.2 Django的基礎(chǔ)使用
10.3.3 用戶注冊功能的實現(xiàn)
10.3.4 登錄與Session處理
10.3.5 任務(wù)發(fā)布
10.3.6 任務(wù)信息查詢
10.3.7 任務(wù)狀態(tài)變更
10.3.8 項目總結(jié)