美化布局示例
币安(Binance)最新版本
币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!
APP下载
官网地址
火币HTX最新版本
火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!
APP下载
官网地址
本书以Go编程语言讲解,从必要的理论知识到编码实践,循序渐进地介绍以太坊DApp开发的技术要点。全书主要内容分4大部分:第一部分介绍区块链的一些重要基础知识;第二部分全面地介绍以太坊公链的应用基础,内容包含但不限于以太坊的大量术语;第三部分介绍以太坊智能合约整体开发与部署实践;第四部分以以太坊DApp中继服务作为综合范例,介绍以太坊区块链DApp的开发流程与实战。 本书注重应用,代码注释详尽,适合IT技术开发者阅读,对于想了解以太坊及其DApp开发技术的人员或想开发一款基于以太坊的DApp开发者尤为合适 [1]。
第1章 区块链基础知识准备 1
1.1 认识区块链 1
1.1.1 区块链的概念 1
1.1.2 链的分类 2
1.1.3 区块链能做什么 3
1.2 共识的作用 3
1.3 常见的共识算法 4
1.3.1 PoW算法 5
1.3.2 PoS算法 7
1.3.3 DPoS算法 8
1.3.4 共识算法的编码尝试 9
1.4 链的分叉 14
1.4.1 软分叉 16
1.4.2 硬分叉 18
1.4.3 常见的分叉情况 18
1.4.4 PoW共识机制的51%算力攻击 20
1.5 小结 22
第2章 以太坊基础知识准备 23
2.1 什么是以太坊 23
2.2 以太坊的架构 24
2.3 什么是DApp 26
2.3.1 DApp概述 26
2.3.2 以太坊上的DApp 28
2.4 区块的组成 29
2.4.1 区块的定义 29
2.4.2 以太坊地址(钱包地址) 31
2.4.3 Nonce的作用 33
2.4.4 燃料费 34
2.4.5 GasUsed的计算 35
2.4.6 叔块 38
2.4.7 挖矿奖励 40
2.5 账户模型 42
2.5.1 比特币UTXO模型 43
2.5.2 Trie树 45
2.5.3 Patricia Trie树 47
2.5.4 默克尔树(Merkle Tree) 47
2.5.5 以太坊MPT树 50
2.5.6 MPT树节点存储到数据库 53
2.5.7 组建一棵MP...
2.5.8MPT树如何体现默克尔树的验证特点57
2.5.9以太坊钱包地址存储余额的方式57
2.5.10余额查询的区块隔离性58
2.5.11余额的查询顺序58
2.5.12UTXO模型和Account模型的对比59
2.6以太坊的版本演变60
2.6.1以太坊与PoW共识机制60
2.6.2君士坦丁堡60
2.7以太坊Ghost协议61
2.8Casper:PoS的变种共识机制62
2.8.1如何成为验证人63
2.8.2验证人如何获取保证金63
2.8.3候选区块的产生64
2.8.4胜出区块的判断64
2.9智能合约64
2.9.1简介与作用64
2.9.2合约标准66
2.10以太坊交易75
2.10.1交易的发起者、类型及发起交易的函数75
2.10.2交易和智能合约的关系76
2.10.3交易参数的说明77
2.10.4交易方法的真实含义79
2.10.5交易的状态80
2.10.6交易被打包82
2.11“代币”余额83
2.12以太坊浏览器84
2.12.1区块链浏览器访问合约函数86
2.12.2区块链浏览器查看交易记录89
2.12.3非ETH交易记录不能作为资产转账成功的依据90
2.12.4区块链浏览器查看智能合约的代码91
2.13以太坊零地址94
2.13.1零地址的交易转出假象94
2.13.2零地址的意义96
2.14小结97
第3章智能合约的编写、发布和调用98
3.1智能合约与以太坊DApp98
3.2认识Remix99
3.3实现加法程序101
3.4实现ERC20代币智能合约103
3.4.1定义标准变量103
3.4.2事件与构造函数103
3.4.3Solidity的常见关键字104
3.4.4授权与余额105
3.4.5转账函数106
3.4.6合约的代码安全109
3.5链上的合约110
3.6认识Mist111
3.6.1节点的切换112
3.6.2区块的同步方式113
3.7创建以太坊钱包113
3.8使用Mist转账代币116
3.9使用Mist发布智能合约119
3.9.1合约Solidity源码121
3.9.2认识“ABI”122
3.9.3提取ABI和Bytecode124
3.9.4使用Bytecode发布合约125
3.9.5使用合约的函数128
3.10小结130
第4章实现以太坊中继——基础接口131
4.1认识以太坊中继131
4.2区块遍历132
4.3RPC接口134
4.4以太坊接口135
4.4.1重要接口详解136
4.4.2节点链接141
4.4.3获取链接141
4.4.4进行测试144
4.4.5获取测试币147
4.5项目准备148
4.6创建项目151
4.7第一个Go程序154
4.8封装“RPC”客户端156
4.8.1下载依赖库156
4.8.2编写“RPC”客户端158
4.8.3单元测试161
4.9编写访问接口代码162
4.9.1认识“Call”函数163
4.9.2查找请求的参数164
4.9.3实现获取交易信息166
4.9.4认识“BatchCall”函数170
4.9.5批量获取交易信息171
4.9.6批量获取代币余额173
4.9.7获取最新区块号179
4.9.8根据区块号获取区块信息181
4.9.9根据区块哈希值获取区块信息184
4.9.10使用“eth_call”访问智能合约函数186
第5章实现以太坊中继——应用191
5.1创建以太坊钱包191
5.1.1以太坊钱包术语192
5.1.2创建钱包194
5.2实现以太坊交易197
5.2.1以太坊交易的原理197
5.2.2以太坊ETH的交易206
5.3区块事件监听224
5.3.1创建数据库225
5.3.2实现数据库的连接器226
5.3.3生成数据表230
5.3.4区块遍历器232
5.3.5理解监听区块事件246
5.4小结247
后记248 [2]
美化布局示例
币安(Binance)最新版本
币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!
APP下载
官网地址
火币HTX最新版本
火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!
APP下载
官网地址
发表评论