新書推薦:
《
海外中国研究·未竟之业:近代中国的言行表率
》
售價:HK$
135.7
《
我们为何建造(城市与生态文明丛书)
》
售價:HK$
89.7
《
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
》
售價:HK$
79.4
《
家书中的百年史
》
售價:HK$
79.4
《
偏爱月亮
》
售價:HK$
45.8
《
生物安全与环境
》
售價:HK$
56.4
《
泥土:文明的侵蚀(城市与生态文明丛书)
》
售價:HK$
84.0
《
医用化学(第三版)
》
售價:HK$
57.3
|
內容簡介: |
本书开始部分对区块链概念进行介绍和高度概括,然后基于以太坊、比特币和超级账本区块链展示不同的使用案例和实际操作。具体内容包括区块链技术的基本概念、创建加密货币、Solidity 智能合约语言、使用Truffle和Drizzle构建Tontine游戏、以区块链为基础的期货系统、商业区块链、分布式存储IPFS和Swarm、超级账本上的供应链、信用证超级账本。
|
目錄:
|
推荐序
译者序
前言
审校者简介
第1章 初识区块链1
1.1 区块链和加密货币的兴起2
1.1.1 从虚拟货币到加密货币2
1.1.2 比特币的出现2
1.1.3 什么是区块链3
1.2 与区块链交互5
1.2.1 入门6
1.2.2 方法1——使用Bitcoin Core创建原始交易10
1.2.3 方法2——用JavaScript创建原始比特币交易18
1.3 区块链类型21
1.4 小结22
第2章 建立比特币支付系统23
2.1 什么是比特币23
2.2 开始使用比特币24
2.2.1 设置Regtest环境24
2.2.2 用比特币交易26
2.3 构建支付网关31
2.3.1 项目描述31
2.3.2 准备环境33
2.3.3 项目设置33
2.3.4 商家方面34
2.3.5 客户端39
2.3.6 预览应用程序42
2.4 使用BitcoinJ的支付协议44
2.4.1 准备环境44
2.4.2 BitcoinJ 客户端45
2.5 比特币智能合约51
2.5.1 什么是Rootstock51
2.5.2 编写你的第一个比特币智能合约54
2.6 小结56
第3章 创建加密货币57
3.1 从源代码处编译比特币57
3.1.1 准备创建系统58
3.1.2 创建Bitcoin Core59
3.2 新加密货币——Readercoin61
3.2.1 克隆比特币61
3.2.2 重新包装Readercoin 62
3.2.3 更改端口63
3.2.4 更改pchMessageStart63
3.2.5 创世区块64
3.2.6 删除种子节点67
3.2.7 检查点68
3.2.8 ChainTxData69
3.2.9 奖励70
3.2.10 减半70
3.2.11 总供给量71
3.2.12 POW参数——目标71
3.2.13 时间成熟度74
3.2.14 区块大小75
3.2.15 BIP:比特币改进建议76
3.2.16 编译和测试77
3.2.17 设计和图形(Qt钱包)78
3.2.18 重新设计比特币-Qt钱包79
3.2.19 建立一个Readercoin 网络84
3.2.20 Readercoin 挖矿86
3.2.21 发送交易89
3.2.22 创建交易和区块浏览器89
3.2.23 建立交易所92
3.3 小结93
第4章 以太坊中的点对点拍卖94
4.1 以太坊简介95
4.1.1 以太坊虚拟机和智能合约95
4.1.2 以太币和gas96
4.1.3 你的第一个智能合约96
4.1.4 DApp是什么97
4.2 创建拍卖DApp98
4.2.1 拍卖描述98
4.2.2 使用Solidity语言编写拍卖合约 99
4.2.3 合约代码分析100
4.2.4 继承105
4.2.5 Remix IDE110
4.2.6 web3.js中的投标表格113
4.2.7 web3.js API简介116
4.3 部署环境——方法多多122
4.3.1 选择1:Ganache122
4.3.2 选择2:测试网124
4.3.3 选择3:私有网络126
4.3.4 用solc编译和部署合约132
4.3.5 POA共识机制和难度调整132
4.4 运行拍卖DApp134
4.4.1 合约和交易成本135
4.4.2 Solidity 的几个实用技巧138
4.5 小结138
第5章 使用Truffle和Drizzle构建Tontine游戏139
5.1 背景情况140
5.2 快速了解Truffle140
5.2.1 安装Truffle141
5.2.2 简单了解Truffle141
5.2.3 首次运行Truffle 142
5.3 Tontine合约145
5.4 作为CRUD合约的Cplayer147
5.4.1 智能合约数据位置147
5.4.2 CRUD——创建149
5.4.3 CRUD——读取149
5.4.4 CRUD——更新151
5.4.5 CRUD —— 删除151
5.5 Tontine接口——Itontine152
5.6 接口实现——Ctontine合约153
5.6.1 智能合约交互154
5.6.2 加入游戏156
5.6.3 ping方法159
5.6.4 eliminate方法160
5.6.5 share_pension方法160
5.6.6 claimReward方法161
5.7 Truffle单元测试162
5.7.1 准备测试环境162
5.7.2 迁移合约162
5.7.3 准备测试163
5.7.4 测试addPlayer164
5.7.5 测试findPlayer164
5.7.6 测试removePlayer165
5.7.7 测试Ctontine165
5.7.8 测试payable函数166
5.7.9 测试事件167
5.7.10 测试claimReward167
5.7.11 运行测试169
5.7.12 使用Solidity进行测试169
5.7.13 使用Truffle 和Remix进行调试171
5.8 使用Drizzle的前端180
5.8.1 准备环境180
5.8.2 Drizzle box是什么180
5.8.3 初次了解Drizzle box181
5.8.4 黑客攻击Drizzle box183
5.8.5 游戏主页184
5.9 试用DApp187
5.9.1 将Ganache连接到MetaMask188
5.9.2 运行Tontine DApp189
5.9.3 表演时间——准备好了吗191
5.9.4 获取帮助193
5.10 小结194
第6章 以区块链为基础的期货系统195
6.1 项目展示195
6.2 期货智能合约196
6.3 web3j199
6.3.1 准备环境200
6.3.2 设置web3j Maven 项目200
6.3.3 安装web3j202
6.3.4 创建钱包202
6.4 Java客户端203
6.4.1 封装生成器205
6.4.2 初始化web3j205
6.4.3 设置以太坊账户206
6.4.4 部署合约206
6.4.5 与智能合约交互207
6.4.6 调用合约函数207
6.4.7 调用 view 方法209
6.4.8 web3j事件209
6.4.9 性能提升210
6.5 小结211
第7章 商业区块链212
7.1 区块链的公共与
|
內容試閱:
|
区块链是一项可能对全球经济的许多方面产生重大影响的突破性技术。通过将范式从当前占主导地位的中心化架构转移到去中心化架构,这项创新性技术将为那些传统上依赖中介和信任的产业带来翻天覆地的变革。
在过去的几年中,区块链呈指数增长,已经发展成多种形式。目前包含许多不同的技术和工具,其中一些是成熟的,另一些是相对较新的。所有这些都使得理解和掌握关键的思想和概念成为一项艰巨的任务。
这就是本书诞生时的图景。由于区块链大热,因此有许多相关书籍,但是我们认为,其中很多书都只关注区块链的理论性或者推测性,换句话说,就是只介绍区块链未来可能有哪些应用,却没有具体介绍如何落地。这正是本书的与众不同之处:它非常注重实际。从最开始,本书就通过一系列深入并且能够快速上手的案例,详细讲解了区块链今天能做什么,以及到底怎么做。
本书分为几大部分。开始部分对区块链概念进行介绍和高度概括,然后基于以太坊、比特币和超级账本区块链展示不同的使用案例和实际操作。
本书的读者对象
本书的目标读者是区块链新手,本书的目标是为他们提供开发基于区块链的项目的简便方法。本书较详尽地介绍了不同区块链解决方案的技术细节,并一步一步地指导读者实施典型的区块链项目。在学习完本书之后,读者能够自行创建和维护基于区块链的可靠、可扩展的分布式系统。
本书内容
第1章是概览章节,介绍区块链技术的基本理念。
第2章首先通过创建一个客户友好型支付系统来介绍比特币的细节,之后关注在比特币区块链上的智能合约的使用细节。
第3章在前面章节介绍的比特币概览知识的基础上,在比特币代码库上创建一个新的货币。
第4章介绍创建去中心化应用的以太坊的基本特征、理念和工具。该章介绍后面章节将大量使用的Solidity 智能合约语言。
第 5章在第4章的基础上,利用Solidity语言更高级的性能和Truffle 开发环境,创建一个更复杂的去中心化应用。
第6章继续在前两章以太坊内容的基础上推进,该章关注智能合约如何用oracle和第三方API与外界互动。
第7章介绍私有企业级区块链及相关应用案例, 之后详细介绍如何用以太坊的企业分叉Quorum 实现私有网络。
第8章在前面以太坊章节的基础上介绍如何将去中心化的文件存储集成到去中心化应用中去。
第9章介绍本书设计的第三个区块链网络:超级账本。该章介绍超级账本的主要理念和基本特征,以及它与比特币和以太坊的区别,并介绍一个超级账本的实际应用,即供应链溯源。
第10章在前面章节的基础上介绍如何用区块链实现两个银行和两个交易伙伴之间的信用证业务。
充分利用本书
本书假设你会使用命令行界面,但不要求你拥有任何正式的shell脚本技能。还假设你拥有与编程语言无关的基础知识,在某些情况下熟悉一种特定的语言是有益的,尽管这不是必要条件。
由于本书涵盖了多种语言和技术,读者不太可能熟悉所有这些语言和技术。因此,我们当然希望你有学习的意愿。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http:www.packtpub.com通过个人账号下载,也可以访问华章图书官网http:www.hzbook.com,通过注册并登录个人账号下载。
下载文件后,请确保使用最新版本的解压软件进行解压缩:
Windows: WinRAR7-Zip
Mac: ZipegiZipUnRarX
Linux: 7-ZipPeaZip
本书的代码包还托管在GitHub上,网址为https:github.comPacktPublishingBlockchain-By-Example。如果代码有更新,它将在现有的GitHub存储库上进行更新。
我们还在https:github.comPacktPublishing上提供了丰富的书籍和视频目录中的其他代码包。查一下吧!
我们还提供了一个pdf文件,其中包含本书中使用的屏幕截图和彩色图表。下载地址为:https:www.packtpub.comsitesdefaultfilesdownloads9781788475686_ColorImages.pdf。
本书排版约定
本书使用了许多排版约定。
代码文本(CodeInText):表示文本、数据库表名、文件夹名称、文件名、文件扩展名、路径名、用户输入和Twitter句柄中的代码。下面是一个示例:“你可以在任何级别上使用console.log在控制台中打印接收到的值。”
代码块如下:
任何命令行输入或输出如下所示:
粗体:表示一个新的术语,一个重要的单词,或你在屏幕上看到的单词。下面是一个示例:“……其基本单位称为区块。”
这个图标表示警告或重要说明。
这个图标表示提示和技巧。
|
|