《区块链开发指南》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:申屠青春著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111571209
  • 页数:219 页
图书介绍:本书首先介绍基础密码学、算法、P2P协议、脚本等区块链基础原理与技术,然后以比特币和以太坊两大区块链平台为例,指导读者搭建测试环境,对区块链进行编译,建立私链与测试链等,帮助开发者创建自己的私链,实现智能合约、挖矿等区块链特定编程实例。

第1章 区块链基础 1

1.1交易和交易链 2

1.1.1比特币地址 3

1.1.2交易的本质 3

1.1.3输入和输出 5

1.1.4交易类型 5

1.1.5找零地址 6

1.2区块和区块链 8

1.2.1区块结构 8

1.2.2创世块 10

1.2.3区块链原理 13

1.3挖矿、矿池 14

1.3.1挖矿原理与区块的产生 14

1.3.2挖矿难度 16

1.3.3矿池原理与商业模式 18

1.4脚本系统 19

1.4.1脚本特点 20

1.4.2脚本运行过程 24

1.4.3脚本操作码解读 25

1.4.4脚本执行过程 26

1.5合约应用案例 27

1.5.1合约应用原理 28

1.5.2示例1:提供押金证明 29

1.5.3示例2:担保和争端调解 30

1.5.4示例3:保证合约 30

1.5.5示例4:使用外部状态 32

1.5.6示例5:跨链交易 34

1.5.7示例6:支付证明合约 35

1.5.8示例7:特定对象的快速调整(微)支付 36

1.5.9示例8:多方去中心化彩票 37

参考资料 37

第2章 区块链进阶 39

2.1外带数据 39

2.1.1 OP RETURN外带数据 39

2.1.2 Multi-Signatures外带数据 40

2.2 Counterparty 40

2.2.1 Counterparty附生链的实现机制详解 41

2.2.2发送 41

2.2.3订单 42

2.2.4发行 42

2.2.5广播 43

2.2.6赌约 43

2.3挖矿算法解析 43

2.3.1 PoW挖矿算法及分析 43

2.3.2 PoS股权证明算法及分析 44

2.3.3 DPoS股份授权证明算法及分析 45

2.4 Sidechains 45

2.4.1侧链背景 45

2.4.2技术原理 46

2.5最新比特币技术 49

2.5.1 IBLT 49

2.5.2隔离见证 50

2.5.3闪电网络 51

2.5.4 RSMC 51

2.5.5 HTLC 52

参考资料 53

第3章 密码学基础 54

3.1 Hash函数 54

3.1.1技术原理 54

3.1.2 SHA-1算法 55

3.1.3 SHA-2算法 57

3.1.4 SHA-3算法 64

3.1.5 RIPEMD160算法 65

3.2椭圆曲线密码 66

3.2.1椭圆曲线方程 67

3.2.2公钥和私钥的产生算法 68

3.3 ECDSA数字签名 69

3.4 Schnorr数字签名 70

3.4.1技术思想 70

3.4.2 Schnorr与ECDSA的异同 70

3.5 Bloom filter 71

3.5.1技术原理 71

3.5.2应用案例 72

第4章 比特币区块链开发 74

4.1 Bitcoin的编译过程 74

4.1.1 Ubuntu下的编译 74

4.1.2 Mac下的编译 75

4.1.3 Windows下的编译 76

4.2代码剖析 77

4.2.1主要模块 77

4.2.2初始化和启动 79

4.2.3 P2P网络 80

4.2.4交易和区块 89

4.2.5脚本系统 89

4.2.6挖矿 91

4.2.7私钥 92

4.3性能实战 93

4.3.1建立私链 93

4.3.2优化改进 96

4.4 API开发 97

4.4.1命令行调用 97

4.4.2 RPC API调用接口 100

4.4.3如何调用API进行开发 103

4.4.4通过命令实现区块链的查询实例 103

第5章 以太坊智能合约开发 109

5.1以太坊 109

5.1.1以太坊的定义 109

5.1.2下一代区块链 109

5.1.3以太坊虚拟机 110

5.1.4以太坊的工作原理 110

5.2以太坊账户管理 111

5.2.1账户 111

5.2.2钥匙文件 112

5.2.3创建账号 112

5.3更新、备份、恢复账号 115

5.3.1更新账号 115

5.3.2账号备份和恢复 116

5.4公有链、联盟链、私有链及网络配置 117

5.4.1以太坊网络 117

5.4.2公有链、私有链和联盟链 117

5.4.3如何连接 118

5.4.4更快地下载区块链 119

5.4.5静态节点、信任节点和启动节点 120

5.5搭建测试网络和私有链 121

5.5.1 Modern测试网 121

5.5.2设置本地私有测试网 121

5.6账户、交易核心概念及投注合约解析 125

5.6.1外有账户与合约账户 125

5.6.2什么是交易 126

5.6.3什么是消息 126

5.6.4什么是gas 126

5.6.5估算交易成本 127

5.6.6账户交互示例:投注合约 128

5.7深入浅出智能合约 131

5.7.1合约的定义 131

5.7.2以太坊高级语言 131

5.7.3写合约 131

5.7.4编译合约 132

5.7.5创建和部署合约 134

5.7.6与合约互动 135

5.7.7合约元数据 136

5.7.8测试合约和交易 137

5.8如何部署、调用智能合约 138

5.8.1 RPC 138

5.8.2惯例 138

5.8.3部署合约 139

5.8.4和智能合约互动 141

5.8.5 Web3.js 142

5.8.6控制台 143

5.8.7查看合约与交易 143

5.9智能合约案例实战 143

参考资料 146

第6章 Fabric原理和实操 147

6.1超级账本项目背景 147

6.2 Fabric简介 149

6.3系统架构 150

6.3.1交易 150

6.3.2区块链数据结构 150

6.3.3节点 151

6.4交易背书的基本流程 155

6.4.1客户端创建交易后发送到它所选择的背书节点 156

6.4.2背书节点模拟交易,然后生成背书签名 157

6.4.3提交客户端获取交易的背书,通过排序服务广播 158

6.4.4排序服务向所有节点投递交易消息 158

6.5背书策略 159

6.5.1背书策略规范 159

6.5.2交易评估与背书策略 159

6.5.3背书策略示例 160

6.6验证总账(1.0版本之后的功能)和原始总账检查点(精简) 160

6.6.1验证总账 160

6.6.2原始总账检查点 161

6.7 Fabric V1.0开发者快速入门 163

6.7.1前置条件和系统配置 163

6.7.2下载源代码,创建Fabric网络 164

6.7.3生成配置文件 164

6.7.4使用Docker创建Fabric网络&创建/加入通道(账本) 165

6.7.5示例合约执行过程解析 165

6.7.6查看智能合约执行日志 166

6.7.7手工创建和加入通道 166

6.7.8使用命令行工具部署、调用、查询智能合约 167

6.7.9开发环境故障排除 168

6.7.10 Fabric常用的Docker命令 168

6.8智能合约开发 169

6.8.1智能合约的定义 169

6.8.2 GO语言智能合约的开发和部署 169

6.8.3 Java智能合约的编写与部署 174

6.8.4开发和提交代码 180

相关术语 182

附录A 国内区块链联盟介绍 184

附录B 《ChinaLedger面向中国资本市场应用的分布式总账白皮书》全文 201