由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
诺森以太坊智能合约开发实战唐盛彬9787111617机械工业出版社
¥ ×1
前言
篇 基础理论与原理
章 与区块链的次亲密接触 2
1.1 什么是区块链 2
1.1.1 区块链简介 2
1.1.2 区块链的链式结构 3
1.1.3 区块链上的区块常见数据 4
1.2 工作量明机制(PoW) 6
1.2.1 区块链遭遇的问题 6
1.2.2 PoW模型 8
1.. PoW为什么能防止篡改 9
1.3 权益明机制(PoS) 11
1.3.1 什么是PS 2
1.3.2 PoS的优势与劣势 12
1.4 委托权益明(DPoS) 12
1.5 明(PoA) 13
1.6 区块链的应用 13
1.7 本章小结 13
第2章 去中心化应用——DApp 15
2.1 DApp简介 15
2.1.1 什么是DApp 15
2.1.2 DApp网络组建过程 16
2.1.3 DApp的优点 16
2.1.4 DApp存在的问题 16
2.2 中心化与去中心化 17
2.2.1 身份验 17
2.2.2 通信 17
2.. 数据交互 17
2.2.4 系统维护 18
. DApp网络与通信 18
..1 P2P网络与WWW 19
..2 P2P网络拓扑结构类型 20
.. 小结 21
2.4 Dpp币与中心化数据交互 22
2.4.1 Dpp币 22
2.4.2 中心化应用获取去中心化数据 22
2.4.3 去中心化应用获取中心化数据 22
2.5 常见的DApp
2.5.1 比特币
2.5.2 以太坊
2.5.3 IPFS存储系统
第3章 比特币那些事 25
3.1 比特币简介 25
3.1.1 比特币公钥与私钥 25
3.1.2 数字签名 26
3.2 椭圆曲线算法 26
3.2.1 群 26
3.2.2 椭圆曲线算法定义 28
3.. 椭圆曲线几何运算 29
3.2.4 椭圆曲线算法的代码实现 30
3.2.5 椭圆曲线加密与签名原理 37
3.3 比特币私钥、公钥与地址 39
3.3.1 从私钥到地址 39
3.3.2 公钥压缩 40
3.3.3 私钥格式 41
3.3.4 私钥与安全 41
3.4 比特币交易 44
3.4.1 交易简介 44
3.4.2 交易输出 44
3.4.3 交易输入 44
3.4.4 交易费 45
3.4.5 付款至公钥哈希(P2PKH) 45
3.4.6 多重签名与P2SH 46
3.5 比特币钱包 46
3.5.1 钱包简介 46
3.5.2 生成记词 47
3.5.3 从记词生成种子 48
3.5.4 从种子生成HD钱包 48
3.5.5 HD钱包密钥路径 50
3.6 比特币相关资源 51
第4章 以太坊 52
4.1 以太坊简介 52
4.1.1 什么是以太坊 52
4.1.2 以太坊虚拟机(EVM) 53
4.1.3 以太坊智能合约与语言 53
4.1.4 以太币单位 54
4.1.5 以太坊发行版本与提案 54
4.2 以太坊账户 55
4.2.1 外部账户 55
4.2.2 合约账户 56
4.. 外部账户与合约账户的异同 56
4.3 以太坊交易 57
4.3.1 gas、gasPrice与gasLimit 57
4.3.2 gasUsed与交易花费 58
4.3.3 什么是以太坊交易与消息 58
4.4 以太坊网络 59
4.4.1 以太坊网络简介 59
4.4.2 以太坊与Kademlia 59
4.4.3 以太坊客户端 61
4.5 挖矿 62
4.5.1 什么是挖矿 62
4.5.2 挖矿奖励 62
4.5.3 以太坊区块 63
4.6 GHOST协议 64
4.6.1 区块时间 64
4.6.2 区块分叉 65
4.6.3 普通分叉带来的问题 66
4.6.4 GHOST协议的具体内容 67
4.7 Ethash算法之DAG 68
4.7.1 什么是DAG 68
4.7.2 DAG生成过程 69
4.7.3 为什么要使用DAG 69
4.8 Ethash算法 70
4.8.1 Ethash算法简介 70
4.8.2 Ethash算法流程 70
4.9 本章小结 71
第2篇 开发工具
第5章 智能合约开发常用工具 74
5.1 Git简介 74
5.1.1 Git安装 74
5.1.2 Git常用命令 75
5.1.3 Git资源 76
5.2 Node.js简介 76
5.2.1 什么是Node.js 76
5.2.2 Node.js安装 77
5.3 NPM简介 78
5.3.1 npm config命令 78
5.3.2 NPM与语义化版本 80
5.3.3 npm install命令 82
5.3.4 NPM镜像 83
5.3.5 NPM的常用命令 84
5.4 webpack简介 85
5.4.1 认识webpack 85
5.4.2 webpack秀 85
5.4.3 webpack 与webpack-dev-server 87
5.4.4 webpack常用功能与配置 90
5.4.5 webpack总结 92
5.5 Postman简介 92
5.5.1 认识Postman 93
5.5.2 Postman的简单用法 94
5.5.3 Postman脚本 95
5.6 LevelDB简介 96
5.6.1 认识LevelDB 96
5.6.2 LevelDB文件 97
5.6.3 SST结构与数据查找 99
第6章 以太坊私链——Ganache 102
6.1 Ganache简介 102
6.1.1 什么是Ganache 102
6.1.2 ganache-cli命令安装 103
6.1.3 Ganache图形界面 104
6.2 Ganache常见命令参数 106
6.2.1 挖矿时间 106
6.2.2 主机端口与网络 106
6.. gas相关参数 106
6.2.4 参数 106
6.3 Ganache账户 107
6.3.1 能多给我点钱吗 107
6.3.2 能多给我几个账户吗 108
6.3.3 记词相关参数 108
6.3.4 指定账户 108
6.3.5 锁定账户与解锁 109
6.4 Ganache与JavaScript 109
6.4.1 在工程中引用Ganache的Provider 109
6.4.2 在工程中启动Ganache的Server 110
6.4.3 配置工程中依赖的Ganache 111
6.5 Ganache交易相关RPC方法 112
6.5.1 eth_sendTransaction方法 113
6.5.2 eth_getTransactionCount方法 115
6.5.3 eth_getTransactionReceipt方法 116
6.5.4 eth_getTransactionByHash方法 116
6.5.5 交易相关的方法 117
6.6 Ganache账户相关RPC方法 117
6.6.1 eth_accounts方法 118
6.6.2 eth_getBalance方法 118
6.6.3 eth_coinbase方法 119
6.7 Ganache区块相关RPC方法 119
6.7.1 eth_getBlockByHash方法 119
6.7.2 eth_getBlockByNumber方法 122
6.7.3 相关方法 122
6.8 Ganache日志相关RPC方法 1
6.8.1 eth_newFilter方法 1
6.8.2 eth_getFilterLogs方法 124
6.8.3 eth_getLogs方法 125
6.8.4 关联方法 126
6.9 Ganache的RPC方法 127
6.9.1 web3_clientVersion方法 127
6.9.2 net_version方法 127
6.9.3 eth_getCode方法 128
6.9.4 eth_sign方法 129
第7章 以太坊官方客户端——Geth 130
7.1 Geth简介 130
7.1.1 Geth是什么 130
7.1.2 Geth安装 130
7.1.3 Geth相关目录 132
7.1.4 Geth相关工具 134
7.2 Geth子命令 134
7.2.1 Geth子命令概述 135
7.2.2 Geth子命令之account 136
7.. Geth子命令之console与attach 137
7.2.4 Geth子命令之copyb与eovedb 137
7.3 Geth启动参数 138
7.3.1 Geth数据同步模式 138
7.3.2 Geth网络相关参数 138
7.3.3 Geth以太坊相关参数 139
7.3.4 Geth RPC相关参数 140
7.3.5 Geth挖矿相关参数 141
7.3.6 Geth ethash算法参数 142
7.3.7 Geth交易池配置 142
7.3.8 Geth日志参数 145
7.3.9 Geth的参数 146
7.4 Geth启动实例 146
7.4.1 Geth启动单个节点 146
7.4.2 Geth启动多节点组网 148
7.5 Geth控制台与管理接口 149
7.5.1 admin模块 149
7.5.2 debug模块 150
7.5.3 miner模块 151
7.5.4 personal模块 152
7.5.5 txpool模块 153
7.6 keystore文件 153
7.6.1 keystore文件简介 153
7.6.2 从密钥到密钥文件 154
7.6.3 从密钥到密钥文件流程验 155
第8章 以太坊钱包与浏览器 158
8.1 MetaMask插件 158
8.1.1 MetaMask简介 158
8.1.2 MetaMask安装 159
8.1.3 次使用MetaMask 160
8.1.4 MetaMask的连接配置 161
8.1.5 MetaMask的配置 162
8.1.6 MetaMask账户管理 163
8.1.7 MetaMask交易 164
8.1.8 小结 165
8.2 Ethereum Wallet钱包 166
8.2.1 Ethereum Wallet简介 166
8.2.2 安装Ethereum Wallet与Mist 166
8.. 使用Ethereum Wallet 169
8.3 Mist与Ethereum Wallet 170
8.3.1 Ethereum Wallet与Mist的区别 171
8.3.2 Mist的配置与使用 171
8.3.3 小结 172
8.4 MyEtherWallet网页钱包 172
8.4.1 MyEtherWallet简介 173
8.4.2 MyEtherWallet合约交互 174
8.4.3 MyEtherWallet离线交易 175
8.4.4 MyEtherWallet的功能 177
第3篇 Solidity与智能合约开发
第9章 Solidity初遇 180
9.1 Solidity简介 180
9.1.1 什么是Solidity 180
9.1.2 智能合约示例 181
9.1.3 Solidity编译版本 182
9.2 Solidity编辑器 182
9.2.1 Sublime编辑器 182
9.2.2 Atom编辑器 185
9.. EA编辑器 187
9.3 Remix编辑器 188
9.3.1 Remix简介 188
9.3.2 Remix文件管理 189
9.3.3 Remix编辑面板与控制台 190
9.3.4 Remix编译与运行面板 191
9.3.5 Remix基本配置面板 193
9.3.6 Remix分析配置面板 194
9.4 Solidity常见概念 196
9.4.1 状态变量 196
9.4.2 局部变量 196
9.4.3 Solidity函数 197
9.4.4 返回多值 197
9.4.5 构造函数 198
9.4.6 异常 200
9.4.7 Solidity注释与文档 201
9.5 Solidity运算符 203
9.5.1 Solidity运算符简介 203
9.5.2 Solidity运算符注意事项 204
9.6 Solidity控制结构 205
9.6.1 控制结构简介 205
9.6.2 判断语句 205
9.6.3 for循环 206
9.6.4 while与do…while循环 206
9.6.5 continue与break 207
9.6.6 三目运算符 208
9.7 可见修饰符 209
9.7.1 public修饰符 209
9.7.2 internal修饰符 210
9.7.3 private修饰符 213
9.7.4 external修饰符 214
9.8 函数修饰符 216
9.8.1 constant修饰符 216
9.8.2 view修饰符 217
9.8.3 pure修饰符 217
0章 Solidity数据类型 219
10.1 数据类型简介 219
10.1.1 值类型 219
10.1.2 引用类型 220
10.1.3 小结 221
10.2 Booleans类型 221
10.2.1 Booleans类型简介 221
10.2.2 Booleans类型支持的运算符 221
10.3 Integers类型 2
10.3.1 Integers类型简介 2
10.3.2 Integers类型支持的运算符 224
10.3.3 Integers整除问题 225
10.4 定点数类型 226
10.4.1 定点数类型简介 226
10.4.2 定点数类型支持的运算符 227
10.5 字面量 227
10.5.1 字符串字面量 227
10.5.2 十六进制字面量 229
10.5.3 有理数字面量 0
10.6 Enum类型 1
10.6.1 枚举类型简介 1
10.6.2 枚举类型实例 1
10.7 mapping类型 2
10.7.1 mapping类型简介 2
10.7.2 mapping类型实例 2
10.8 struct类型
1章 Solidity数据类型进阶 5
11.1 Solidity固定大小字节数组 5
11.1.1 固定大小字节数组类型 5
11.1.2 固定大小字节数组支持
唐盛彬,就职于靠前靠前的手机游戏平台当乐网(d.cn),主要负责当乐游戏中心App平台的SDK及区块链游戏众筹平台DGIIO的智能合约开发工作。熟悉以太坊,对以太坊底层原理和相关协议有较为深入的研究;熟悉以太坊智能合约开发的核心技术与常用工具,如Solidity语言、web3.js、Truffle和Geth等;对使用Solidity语言进行以太坊智能合约开发有丰富的实战经验,特别是在众筹和代币开发等相关领域。
本书从区块链的概念、原理、核心技术和应用四个方面,系统地介绍了以太坊区块链开发的相关知识。其中,重点介绍了以太坊的相关概念和原理、以太坊客户端Geth、以太坊常用智能合约开发工具、Solidity语言和智能合约开发等内容,并实现了众筹合约和代币合约两个项目实战案例,可以让读者对智能合约开发的整体流程有一个全面的了解。另外,书中结合示例对Web3.js的相关知识也做了详细介绍,以帮读者更好地理解和利用以太坊的相关数据。
本书内容丰富,讲解通俗易懂,案例典型,实用强,适合区块链技术爱好者和智能合约开发的相关从业人员阅读,也适合区块链底层研究人员阅读。另外,本书还适合作为区块链培训机构作为相关课程的培训教材使用。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格