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

  • 购买积分:9 如何计算积分?
  • 作  者:(印度)纳拉扬·普鲁斯蒂著;朱轩彤闫莺董宁译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111584001
  • 页数:198 页
图书介绍:区块链是近十年来颇具颠覆性的新兴信息技术之一,它正以一种全新的方式建立人类交易过程的信任、仲裁和记录基础。本书共9章,首先介绍去中心化应用、DApp等基本概念,并据此展开对比特币、以太坊、超级账本等热门DApp的阐释。其次在解析以太坊工作原理的基础上介绍智能合约的编写方法,并介绍web3.js的应用方法。最后利用上述知识进行钱包服务、智能合约部署平台、投注App、企业级智能合约以及联盟区块链等具体应用程序的创建。

第1章 去中心化应用 1

1.1什么是DApp 1

1.1.1去中心化应用的优点 2

1.1.2去中心化应用的缺点 3

1.2去中心化自治组织 3

1.3 DApp中的用户身份 4

1.4 DApp中的用户账户 5

1.5访问中心化应用 6

1.6 DApp中的内部货币 6

1.7什么是授权的DApp 7

1.8热门的DApp 7

1.8.1比特币 7

1.8.2以太坊 9

1.8.3超级账本项目 9

1.8.4 IPFS 10

1.8.5 Namecoin 11

1.8.6达世币 12

1.8.7 BigChainDB 14

1.8.8 OpenBazaar 14

1.8.9 Ripple 14

1.9总结 16

第2章 以太坊的工作原理 17

2.1以太坊概览 17

2.2以太坊账户 18

2.3交易 18

2.4共识 19

2.5时间戳 20

2.6随机数 21

2.7区块时间 21

2.8分叉 24

2.9创世区块 24

2.10以太币面值 24

2.11以太坊虚拟机 25

2.12 gas 25

2.13发现对等节点 26

2.14 Whisper和Swarm 27

2.15 geth 27

2.15.1安装geth 28

2.15.2 JSON-RPC和JavaScript操作台 28

2.15.3子命令和选项 29

2.15.4创建账户 29

2.16以太坊钱包 31

2.17浏览器钱包 31

2.18以太坊的缺点 32

2.19 serenity 33

2.20总结 35

第3章 编写智能合约 36

3.1 Solidity源文件 36

3.2智能合约的结构 37

3.3数据位置 38

3.4什么是不同的数据类型 39

3.4.1数组类型 39

3.4.2字符串类型 40

3.4.3结构类型 41

3.4.4枚举类型 42

3.4.5 mapping类型 42

3.4.6 delete操作符 43

3.4.7基本类型之间的转换 44

3.4.8使用var 44

3.5控制结构 45

3.6用new操作符创建合约 46

3.7异常 46

3.8外部函数调用 46

3.9合约功能 48

3.9.1可见性 48

3.9.2函数修改器 50

3.9.3回退函数 51

3.9.4继承 52

3.10库 54

3.11返回多值 56

3.12导入其他Solidity源文件 57

3.13全局可用变量 57

3.13.1区块和交易属性 57

3.13.2地址类型相关 58

3.13.3合约相关 58

3.14以太币单位 58

3.15 存在、真实性和所有权合约的证明 59

3.16编译和部署合约 60

3.17总结 62

第4章 开始使用web3.js 63

4.1 web3.js概述 63

4.1.1导入web3.js 64

4.1.2连接至节点 64

4.1.3 API结构 65

4.1.4 BigNumberjs 66

4.1.5单位转换 66

4.1.6检索gas价格、余额和交易细节 67

4.1.7发送以太币 68

4.1.8处理合约 69

4.1.9检索和监听合约事件 71

4.2为所有权合约创建客户端 73

4.2.1项目结构 74

4.2.2创建后端 74

4.2.3创建前端 76

4.2.4测试客户端 80

4.3总结 82

第5章 创建钱包服务 83

5.1在线钱包和离线钱包的区别 83

5.2 Hooked-Web3-Provider和EthereumJS-tx库 84

5.3分层确定性钱包 87

5.4密钥衍生函数 87

5.5 LightWallet 88

5.6创建钱包服务 89

5.6.1必要条件 89

5.6.2项目结构 90

5.6.3创建后端 90

5.6.4创建前端 91

5.6.5测试 97

5.7总结 101

第6章 创建智能合约部署平台 102

6.1计算一个地址的交易nonce 102

6.2 solcjs概述 104

6.2.1安装solcjs 104

6.2.2 solcjs A PI 104

6.3创建合约部署平台 107

6.3.1项目结构 108

6.3.2创建后端 108

6.3.3创建前端 113

6.3.4测试 117

6.4总结 118

第7章 创建投注APP 119

7.1 Oraclize概述 119

7.1.1 Oraclize的工作原理 120

7.1.2数据源 120

7.1.3真实性证明 121

7.1.4定价 122

7.1.5开始使用Oraclize API 123

7.1.6加密查询 127

7.1.7 Oraclize Web IDE 128

7.2处理字符串 128

7.3创建投注合约 130

7.4为投注合约创建客户端 133

7.4.1项目结构 133

7.4.2创建后端 134

7.4.3创建前端 135

7.4.4测试客户端 143

7.5总结 147

第8章 创建企业级智能合约 148

8.1探索ethereumjs-testrpc 148

8.1.1安装和使用 149

8.1.2可用RPC方法 151

8.2什么是事件主题 153

8.3开始使用truffle-contract 154

8.3.1安装和导入truffle-contract 155

8.3.2建立测试环境 156

8.3.3 truffle-contract API 156

8.4 truffle概述 163

8.4.1安装truffle 163

8.4.2初始化truffle 163

8.4.3编译合约 165

8.4.4配置文件 165

8.4.5部署合约 166

8.4.6单元测试合约 169

8.4.7包管理 175

8.4.8使用truffle的操作台 178

8.4.9在truffle环境中运行外部脚本 179

8.4.10 truffle的创建管线 179

8.4.11 truffle的服务器端 186

8.5总结 187

第9章 创建联盟区块链 188

9.1什么是联盟区块链 189

9.2什么是权威证明共识 189

9.3 parity概述 189

9.3.1 Aura的工作原理 190

9.3.2运行parity 191

9.3.3创建私有网络 192

9.3.4许可和隐私 197

9.4总结 198