乙太坊 Solidity 智慧合約開發
嘉文
- 出版商: 機械工業
- 出版日期: 2020-03-01
- 定價: $354
- 售價: 8.5 折 $301
- 語言: 簡體中文
- 頁數: 259
- 裝訂: 平裝
- ISBN: 7111646428
- ISBN-13: 9787111646426
-
相關分類:
區塊鏈 Blockchain
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$505MATLAB GUI 程序設計 -
$299深入淺出 SSD:固態存儲核心技術、原理與實戰 -
$414區塊鏈開發實戰:以太坊關鍵技術與案例分析 -
區塊鏈智慧合約開發與安全防護實作$480$408 -
區塊鏈智能合約與 DApp 實務應用$520$411 -
數位影像處理 (Gonzalez & Woods : Digital Image Processing, 4/e)$880$862 -
$403區塊鏈 DAPP 開發入門、代碼實現、場景應用 -
$556電腦視覺與深度學習實戰:以 MATLAB、Python 為工具 -
強者用 PyTorch:實作史上最經典 AI 範例$690$545 -
$267圖像工程 (中冊):圖像分析, 4/e -
GAN 對抗式生成網路 (GANs in Action: Deep learning with Generative Adversarial Networks)$750$593 -
小輕快跨平台:王的編輯器 Visual Studio Code 聖經$880$695 -
$322基於Matlab的數字圖像處理 -
$403深度學習理論及實戰 (MATLAB 版) -
$469區塊鏈應用開發指南 : 業務場景剖析與實戰 -
$296區塊鏈+:落地場景與應用實戰 -
$556MATLAB 2020 GUI 程序設計從入門到精通 -
不當礦工當老闆:自己動手開發區塊鏈應用業務$780$616 -
秒懂設計模式$480$379 -
$454TensorFlow 深度學習 — 手把手教你掌握 100個精彩案例 (Python版) -
$301智能合約技術與開發 -
$305區塊鏈+ 技術與實踐 -
動手學 GitHub!現代人不能不知道的協同合作平台$600$474 -
Solidity 實戰全書:完整掌握智能合約!成為獨立開發 Dapp 的區塊鏈工程師$650$507 -
$332區塊鏈:技術原理與應用實踐
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書從零開始介紹Solidity程式開發,從Solidity語言中基礎的關鍵字和語句開始介紹,逐步深入到高級應用,包括設計模式、
合約可升級的設計、合約的安全性問題及對策等,並結合EVM的實現,討論Solidity語句的彙編實現;對一些原理的講解,提供了相對應的實例,
以期更易於理解原理的實現機理;同時,對Solidity應用於DApp開發,及使用區塊鏈上的去中心化存儲(IPFS)也有詳細的介紹。
本書可作為對區塊鏈感興趣的程式開發人員、高校師生等的參考書,也可作為相關課程的培訓教材。
目錄大綱
前言
第1章乙太坊簡介1
1 .1乙太坊1
1 .1 .1不對稱加密體系2
1 .1 .2密碼學雜湊函數4
1 .1 .3對稱點對點網絡4
1 .1 .4區塊鏈4
1 .1 .5乙太坊虛擬機器5
1 .1 .6節點5
1 .1 .7礦工5
1 .1 .8工作量證明6
1 .1 .9去中心化應用6
1 .1 .10Solidity6
1 .2智能合約6
1 .3燃料7
1 .3 .1為什麼需要燃料?8
1 .3 .2燃料組成8
1 .4ether9
1 .5帳戶9
1 .6交易10
第2章預備知識11
2 .1簡單的例子11
2 .2工具準備12
2 .2 .1程式設計環境準備12
2 .2 .2程式設計工具準備16
2 .2 .3區塊鏈流覽器26
2 .3測試環境26
2 .3 .1MetaMask訪問測試環境27
2 .3 .2測試環境領取測試用幣27
2 .3 .3開發時連接測試環境28
2 .4乙太坊源碼編譯29
第3章Solidity程式設計基礎31
3 .1sol檔結構31
3 .1 .1編譯開關31
3 .1 .2引用其他原始檔案31
3 .1 .3註釋31
3 .1 .4合約32
3 .1 .5庫32
3 .1 .6接口33
3 .2合約檔結構33
3 .3變量類型33
3 .3 .1數值型別34
3 .3 .2參考類型35
3 .3 .3字典/映射37
3 .3 .4特殊情況37
3 .4操作符38
3 .5語句39
3 .5 .1條件陳述式39
3 .5 .2循環語句40
3 .5 .3其他40
3 .6修飾符40
3 .6 .1標準修飾符40
3 .6 .2自訂修飾符44
3 .7資料位置46
3 .8事件47
3 .8 .1智慧合約返回值給使用者接口48
3 .8 .2異步的帶資料的觸發器49
3 .8 .3一種比較便宜的存儲49
3 .8 .4事件裡的Indexed參數50
3 .9繼承51
3 .9 .1單繼承51
3 .9 .2多重繼承51
3 .10其他52
3 .10 .1內置52
3 .10 .2特殊單位54
3 .10 .3類型轉換及推斷55
3 .10 .4異常56
3 .10 .5彙編56
第4章Solidity程式設計的高級話題59
4 .1This關鍵字59
4 .2ERC20標準接口59
4 .2 .1方法61
4 .2 .2事件62
4 .2 .3OpenZepplin框架62
4 .3ERC721標準接口63
4 .3 .1ERC721接口定義63
4 .3 .2中繼資料擴展75
4 .3 .3可枚舉擴展77
4 .3 .4ERC165標準81
4 .4合約間調用82
4 .4 .1函式呼叫82
4 .4 .2依賴註入84
4 .4 .3消息調用84
4 .4 .4獲取合約間調用的返回值88
4 .5基礎演算法90
4 .6用Go與合約交互93
4 .6 .1創建項目93
4 .6 .2創建一個簡單的乙太坊合約93
4 .6 .3用Go訪問乙太坊合約94
4 .6 .4本地測試94
4 .6 .5連接到一個乙太坊節點98
4 .6 .6為帳戶創建加密的JSON鑰匙98
4 .6 .7最後驗證98
第5章ABI接口102
5 .1內存結構102
5 .2函數選擇子102
5 .3類型的定義102
5 .4EVM裡的資料表示103
5 .4 .1固定長度資料類型的表示104
5 .4 .2動態長度資料類型的表示105
5 .5編碼108
5 .5 .1簡單的例子108
5 .5 .2外部調用例子109
5 .5 .3外部方法調用的ABI編碼112
5 .6基於ABI的程式設計116
第6章智慧合約運行原理118
6 .1設計模式118
6 .1 .1合約自毀118
6 .1 .2工廠合約模式119
6 .1 .3名字登錄120
6 .1 .4映射反覆運算121
6 .1 .5撤出模式122
6 .2省燃料122
6 .2 .1註意資料類型123
6 .2 .2以字節編碼的形式存儲值123
6 .2 .3利用SOLC編譯器壓縮變量123
6 .2 .4使用彙編代碼壓縮變量124
6 .2 .5合併函數參數125
6 .2 .6使用默克爾樹證明減少存儲成本125
6 .2 .7無狀態的合約127
6 .2 .8在IPFS上存儲資料127
6 .2 .9位壓縮127
6 .2 .10批次處理128
6 .2 .11Storage結構類型讀寫分離129
6 .2 .12uint256和直接內存存儲130
6 .2 .13彙編代碼優化130
6 .3彙編代碼130
6 .3 .1棧131
6 .3 .2調用數據131
6 .3 .3內存132
6 .3 .4存儲133
6 .4解構智能合約134
6 .4 .1合約創建138
6 .4 .2合約本體通用部分141
6 .4 .3合約本體特定代碼145
第7章可升級的合約147
7 .1方法147
7 .1 .1代理合約147
7 .1 .2分離邏輯和資料147
7 .1 .3通過鍵值對來分離資料和邏輯147
7 .1 .4部分升級148
7 .1 .5比較148
7 .1 .6簡單的代理合約例子148
7 .2通用的代理模式150
7 .3Storage154
7 .3 .1繼承存儲154
7 .3 .2永久存儲154
7 .3 .3非結構化存儲155
7 .4Augur156
7 .4 .1合約部署156
7 .4 .2存儲部署157
7 .5Colony158
7 .5 .1存儲部署158
7 .5 .2合約部署159
7 .6總結159
第8章編寫安全的合約161
8 .1乙太坊已知常見漏洞 161
8 .1 .1上溢和下溢161
8 .1 .2Solidity可見性修飾符的差別165
8 .1 .3重入問題166
8 .1 .4出乎意料的ether操作170
8 .1 .5代理調用174
8 .1 .6默認可見性修飾符178
8 .1 .7熵隨機源180
8 .1 .8外部合約引用180
8 .1 .9短地址/參數攻擊184
8 .1 .10未驗證的CALL返回值185
8 .1 .11競爭條件186
8 .1 .12阻塞攻擊188
8 .1 .13操縱塊時間戳記190
8 .1 .14謹慎使用構造函數191
8 .1 .15未初始化的存儲指標192
8 .1 .16浮點數精度193
8 .1 .17交易授權194
8 .2乙太坊一些奇怪的特性195
8 .2 .1沒有Key的ether195
8 .2 .2一次性地址197
8 .2 .3一個交易的空投197
8 .3乙太坊智慧合約——最佳安全開發指南198
8 .3 .1儘早且明確的暴露問題198
8 .3 .2在支付時使用(pull)模式而不是(push)模式199
8 .3 .3函數代碼的順序:條件,行為,交互200
8 .3 .4留意平臺局限性201
8 .3 .5測試用例203
8 .3 .6容錯及自動
