精通以太坊智能合約開發 | 被動收入的投資秘訣 - 2024年9月
![](https://www.books.com.tw/img/CN1/157/87/CN11578757.jpg)
精通以太坊智能合約開發
本書系統介紹以太坊智能合約的開發,對智能合約相關知識進行全面梳理,尤其是對智能合約開發語言Solidity進行了詳細解讀,智能合約的開發者可以從書中獲得一些啟發和指導。本書可以作為一本案頭手冊,方便開發者在開發智能合約時隨時查閱。
熊麗兵,北航碩士畢業,先後進入創新工場,獵豹移動從事移動開發。現為區塊鏈技術從業者,目前在做區塊鏈底層協議研究。CSDN博客專家,擁有全網訪問量一二的區塊鏈技術博客《深入淺出區塊鏈》,對底層公鏈技術、區塊鏈技術落地都有深入的研究。
第1章 初探以太坊智能合约
以太坊诞生
智能合约
Solidity语言
一个货币合约的例子
本章小结
第2章 以太坊核心概念
区块链基础概念
共识协议:工作量证明(PoW)
以太坊虚拟机(EVM)
账户
以太坊钱包
交易
消息调用
费用(gas)
以太坊网络
存储、内存和栈
指令集
委托调用和库
日志
自毁
以太坊路线图
本章小结
第3章 Solidity合约内容
Solidity文件结构
合约结构
本章小结
第4章 Solidity数据类型
类型概述及分类
布尔类型(Boolean)
整型(Integer)
定长浮点型(Fixed Point Number)
定长字节数组(Fixed-size Byte Array)
有理数和整型常量(Rational and Integer Literal)
字符串常量(String Literal)
十六进制常量(Hexadecimal Literal)
枚举(Enum)
函数类型(Function Type)
地址类型(Address)
地址常量(Address Literal)
数据位置(Data Location)
数组(Array)
数组成员
字符串string及字节数组bytes
结构体(Struct)
映射(Mapping)
类型转换
var类型推导
运算符
本章小结
第5章 Solidity中的单位
货币单位(Ether Unit)
时间单位(Time Unit)
本章小结
第6章 Solidity全局变量及函数
区块和交易的属性
地址相关属性和函数
合约相关属性和函数
本章小结
第7章 Solidity表达式及控制结构
函数参数
控制结构
函数调用表达式
赋值表达式
变量声明与作用范围
错误处理
本章小结
第8章 合约
合约概述
创建合约
可见性
访问函数(Getter Function)
函数修改器(Function Modifier)
状态常量
视图函数(View Function)
纯函数(Pure Function)
回退函数(Fallback Function)
函数重载(Function Overloading)
事件
继承
构造函数(Constructor)
抽象合约(Abstract Contract)
接口(Interface)
库
Using for 指令
本章小结
第9章 合约编译、部署、交互、调试
Solidity编译器
合约编译
合约部署及调用
使用geth
使用Remix + MetaMask
合约调试
本章小结
第10章 应用程序二进制接口(ABI)
简单理解ABI
ABI手册
本章小结
第11章 智能合约最佳实践
编码规范
代码格式
函数编写规范
安全性考虑
一些安全陷阱
编写合约的安全建议
本章小结
第12章 合约案例
代币
高级功能代币
众筹(ICO)合约
众筹智能合约代码
非同质化代币ERC721
本章小结
第13章 去中心化应用开发
JSON RPC
Web3.js
在geth中使用Web3.js
在应用中使用Web3.js
去中心化应用案例
搭建测试环境
创建智能合约
合约加入事件
使用Web3监听事件、刷新UI
Truffle框架
安装Truffle
Truffle使用案例
在浏览器中运行
本章小结