区块链开发从入门到精通PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:陈人通编著
- 出 版 社:北京:中国水利水电出版社
- 出版年份:2019
- ISBN:9787517077442
- 页数:314 页
第1章 区块链思想以及去中心化应用 1
1.1 从记账角度理解区块链 1
1.2 区块链技术的典型成分 3
1.2.1 网络通信 4
1.2.2 区块链账本 5
1.2.3 密码算法 7
1.2.4 共识机制 9
1.3 区块链技术架构的更替 10
1.3.1 区块链1.0架构 10
1.3.2 区块链2.0架构 12
1.3.3 区块链3.0架构 13
1.4 去中心化应用及其优缺点 14
1.4.1 去中心化应用 15
1.4.2 去中心化应用的优点 16
1.4.3 去中心化应用的缺点 16
1.5 DApp中的用户 17
1.6 著名的DApp应用 18
1.6.1 比特币 18
1.6.2 达世币 20
1.6.3 零币 21
1.6.4 莱特币 21
1.6.5 以太坊 22
1.6.6 超级账本 23
1.6.7 Ripple 24
1.6.8 OpenBazaar 25
1.6.9 IPFS 26
第2章 区块链的最初应用——去中心化数字货币 28
2.1 数字货币的去中心化历程 28
2.1.1 加密数字货币的过去 29
2.1.2 中本聪与比特币 32
2.2 去中心化数字货币系统的基本设计 34
2.2.1 密钥、私钥与公钥 35
2.2.2 货币地址 40
2.2.3 发起交易 43
2.2.4 交易的UTXO模型 46
2.2.5 交易在比特币网络中的传播 48
2.3 去中心化数字货币中的区块链技术 49
2.3.1 区块结构 50
2.3.2 用区块头哈希值和区块高度标识区块 52
2.3.3 区块间的链接 53
2.3.4 Merkle树与Merkle根 54
2.3.5 创世区块 58
2.4 挖矿行为 59
2.4.1 挖矿与去中心化共识 59
2.4.2 交易校验及整合至区块 62
2.4.3 填充区块头 65
2.4.4 工作量证明算法与开始挖矿 66
2.4.5 难度目标的调整 70
2.4.6 成功构建区块与新区块校验 72
2.4.7 日渐减小的货币供应量 73
2.4.8 理智从事挖矿活动 74
第3章 区块链热议话题 82
3.1 区块链分叉 82
3.1.1 区块同时被挖出导致的分叉 82
3.1.2 软件升级导致的分叉 85
3.2 区块扩容 86
3.3 侧链 89
3.3.1 极具创造力的侧链技术 89
3.3.2 双向挂钩与SPV证明机制 90
3.4 闪电网络 92
3.5 共识攻击 94
第4章 区块链技术的典型应用场景 97
4.1 区块链技术具有潜在的商业价值 97
4.2 广告传媒的去中心化 98
4.3 区块链技术实现版权登记 100
4.4 银行业的去中心化结算 102
第5章 密码算法——区块链应用安全的保障 104
5.1 Hash算法 104
5.1.1 什么是Hash算法 105
5.1.2 用于加密的常见Hash算法 108
5.1.3 SHA-256的加密过程 110
5.1.4 Hash算法的数字摘要 114
5.2 Bloom过滤器 114
5.3 加/解密算法 116
5.3.1 加/解密的过程 116
5.3.2 对称加密算法 118
5.3.3 非对称加密算法 119
5.3.4 RSA密码学算法 121
5.3.5 椭圆曲线密码学算法 123
5.4 Diffie-Hellman密钥交换协议 125
5.5 编码与解码 126
5.5.1 编码/解码的细节 126
5.5.2 Base64编码 128
5.5.3 Base58编码 129
5.5.4 Base58Check编码 130
第6章 共识算法构建出区块链的灵魂 132
6.1 分布式系统的一致性问题 132
6.1.1 解决一致性问题非常重要 133
6.1.2 分布式系统对一致性的要求 134
6.1.3 达成一致性面临着诸多的挑战 135
6.1.4 施加约束的一致性 136
6.2 用共识算法解决一致性问题 137
6.2.1 关于共识算法的讨论 137
6.2.2 常见共识算法 140
6.3 拜占庭将军问题与PBFT算法 142
6.3.1 拜占庭将军问题 142
6.3.2 PBFT算法 146
6.4 Paxos算法和Raft算法 149
6.4.1 Paxos算法 150
6.4.2 Raft算法 152
6.5 工作量证明算法PoW 154
6.6 股权权益证明算法PoS 156
6.7 委托的股权权益证明算法DPoS 157
第7章 区块链应用开发平台——以太坊 159
7.1 以太坊项目的发起与发展 159
7.2 以太坊的设计细节及重要概念 163
7.2.1 智能合约和以太坊虚拟机 163
7.2.2 以太坊账户 164
7.2.3 状态 166
7.2.4 交易 167
7.2.5 以太币面值 169
7.2.6 收据 170
7.2.7 燃料(Gas) 172
7.2.8 梅克尔-帕特里夏树 173
7.3 以太坊的结构与整体运行框架 176
7.4 安装以太坊客户端 178
7.4.1 以太坊的源码 178
7.4.2 通过PPA直接安装Geth 181
7.4.3 从Geth源码编译安装 183
7.4.4 Windows和Mac OS安装Geth 185
7.4.5 以太坊官方钱包的安装和使用 186
7.4.6 浏览器钱包 190
7.5 概述核心客户端Geth的使用 192
7.5.1 JSON-RPC和JavaScript操作台 192
7.5.2 子命令和选项 193
第8章 编写以太坊智能合约 196
8.1 Solidity源文件及源文件导入 196
8.2 Solidity支持的数据类型 198
8.2.1 基本数据类型 198
8.2.2 字符串类型 200
8.2.3 枚举类型 202
8.2.4 数组类型 202
8.2.5 结构体类型 204
8.2.6 mapping类型 205
8.3 用Solidity执行变量操作 205
8.3.1 var关键字 206
8.3.2 基本数据类型变量的类型间转换 206
8.3.3 delete关键字 207
8.4 条件转移和循环控制结构 209
8.4.1 执行条件转移的if...else...结构和“?:” 209
8.4.2 执行循环控制的while和for结构 210
8.5 函数及函数调用 212
8.5.1 用function关键字创建函数 212
8.5.2 函数调用 213
8.5.3 函数修改器 215
8.5.4 回退函数 216
8.6 异常 217
8.7 使用智能合约 217
8.7.1 智能合约的结构模板 218
8.7.2 智能合约的继承 220
8.7.3 搭建测试用私有链网络 223
8.7.4 创建和编译智能合约 225
8.7.5 部署智能合约 227
8.7.6 运行智能合约 229
8.8 智能合约案例:投票 229
8.8.1 智能合约代码 230
8.8.2 解读合约代码 233
8.9 使用官方钱包部署智能合约 236
8.10 智能合约的代码漏洞:TheDAO事件 238
第9章 区块链应用开发平台——超级账本 240
9.1 关于超级账本 240
9.1.1 项目发起的背景 240
9.1.2 项目的组成 243
9.2 优秀的超级账本项目 244
9.2.1 Fabric项目 244
9.2.2 Sawtooth项目 245
9.2.3 Iroha项目 245
9.2.4 BlockChain Explorer项目 246
9.2.5 Cello项目 246
9.2.6 Composer项目 247
9.2.7 Indy项目 247
9.2.8 Burrow项目 248
9.3 Fabric的系统结构与运行模型 249
9.3.1 系统结构 249
9.3.2 Fabric的典型运行模型 251
9.4 Fabric中的关键概念 253
9.4.1 Fabric的节点 253
9.4.2 链码 257
9.4.3 数字身份证书 258
9.4.4 组织与联盟 262
9.4.5 通道 263
9.4.6 策略 265
9.4.7 系统组件间的通信 267
9.4.8 区块链账本结构 268
9.5 用户应用链码 271
9.5.1 链码的结构模板 271
9.5.2 链码与节点的交互 273
9.6 系统链码 275
9.6.1 配置系统链码 276
9.6.2 生命周期系统链码 277
9.6.3 查询系统链码 279
9.6.4 背书管理系统链码 280
9.6.5 验证系统链码 280
第10章 超级账本Fabric的基本使用 281
10.1 搭建并启动Fabric网络 281
10.1.1 网络的配置文件 281
10.1.2 启动节点 289
10.1.3 运行网络 290
10.1.4 总结 294
10.2 操作用户应用链码 295
10.2.1 安装链码 296
10.2.2 实例化链码 296
10.2.3 调用链码 298
10.2.4 查询链码 298
10.2.5 升级链码 299
10.2.6 打包并签名链码 301
10.3 链码开发相关的API 302
10.4 操作通道 306
10.4.1 通道的创建 306
10.4.2 加入通道 307
10.4.3 列举出节点所加入的通道 308
10.4.4 获取通道内的指定区块 308
10.4.5 更新通道的配置区块 308
10.5 链码开发案例——转账 309
10.5.1 Init()方法 310
10.5.2 Invoke()方法 311
10.5.3 主函数方法 314
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《小岛区块链》方军著 2020
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《主题公园开发与管理》梁增贤编著 2019
- 《小提琴入门新教程 第3册》王中男著 2018
- 《小提琴入门新教程 第2册》王中男编著 2017
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018