第1章 初探以太坊智能合約
以太坊誕生
智能合約
Solidity語言
一個貨幣合約的例子
本章小結
第2章 以太坊核心概念
區(qū)塊鏈基礎概念
共識協(xié)議:工作量證明(PoW)
以太坊虛擬機(EVM)
賬戶
以太坊錢包
交易
消息調用
費用(gas)
以太坊網絡
存儲、內存和棧
指令集
委托調用和庫
日志
自毀
以太坊路線圖
本章小結
第3章 Solidity合約內容
Solidity文件結構
合約結構
本章小結
第4章 Solidity數(shù)據類型
類型概述及分類
布爾類型(Boolean)
整型(Integer)
定長浮點型(Fixed Point Number)
定長字節(jié)數(shù)組(Fixed-size Byte Array)
有理數(shù)和整型常量(Rational and Integer Literal)
字符串常量(String Literal)
十六進制常量(Hexadecimal Literal)
枚舉(Enum)
函數(shù)類型(Function Type)
地址類型(Address)
地址常量(Address Literal)
數(shù)據位置(Data Location)
數(shù)組(Array)
數(shù)組成員
字符串string及字節(jié)數(shù)組bytes
結構體(Struct)
映射(Mapping)
類型轉換
var類型推導
運算符
本章小結
第5章 Solidity中的單位
貨幣單位(Ether Unit)
時間單位(Time Unit)
本章小結
第6章 Solidity全局變量及函數(shù)
區(qū)塊和交易的屬性
地址相關屬性和函數(shù)
合約相關屬性和函數(shù)
本章小結
第7章 Solidity表達式及控制結構
函數(shù)參數(shù)
控制結構
函數(shù)調用表達式
賦值表達式
變量聲明與作用范圍
錯誤處理
本章小結
第8章 合約
合約概述
創(chuàng)建合約
可見性
訪問函數(shù)(Getter Function)
函數(shù)修改器(Function Modifier)
狀態(tài)常量
視圖函數(shù)(View Function)
純函數(shù)(Pure Function)
回退函數(shù)(Fallback Function)
函數(shù)重載(Function Overloading)
事件
繼承
構造函數(shù)(Constructor)
抽象合約(Abstract Contract)
接口(Interface)
庫
Using for 指令
本章小結
第9章 合約編譯、部署、交互、調試
Solidity編譯器
合約編譯
合約部署及調用
使用geth
使用Remix + MetaMask
合約調試
本章小結
第10章 應用程序二進制接口(ABI)
簡單理解ABI
ABI手冊
本章小結
第11章 智能合約最佳實踐
編碼規(guī)范
代碼格式
函數(shù)編寫規(guī)范
安全性考慮
一些安全陷阱
編寫合約的安全建議
本章小結
第12章 合約案例
代幣
高級功能代幣
眾籌(ICO)合約
眾籌智能合約代碼
非同質化代幣ERC721
本章小結
第13章 去中心化應用開發(fā)
JSON RPC
Web3.js
在geth中使用Web3.js
在應用中使用Web3.js
去中心化應用案例
搭建測試環(huán)境
創(chuàng)建智能合約
合約加入事件
使用Web3監(jiān)聽事件、刷新UI
Truffle框架
安裝Truffle
Truffle使用案例
在瀏覽器中運行
本章小結