前言
本学习路径是您使用以太坊、Hyperledger Fabric 和 Hyperledger Composer 探索和构建区块链网络的简易参考。它首先概述了区块链,并向您展示了如何为开发、打包、构建和测试活动分散的应用程序建立一个以太坊开发环境。您将学习 Solidity——以太坊中开发去中心化应用程序的事实语言。您将配置 Hyperledger 结构,并使用这些组件构建专用区块链网络和连接到这些网络的应用程序。首先从原则开始,您将学习设计和启动一个网络,在 chaincode 中实现智能契约,等等。
学习结束时,您将能够通过处理区块链生命周期中遇到的关键难点来构建和部署自己的分散式应用程序。
这本书是给谁的
此学习路径是为那些希望使用 Hyperledger 从头开始构建分散式应用程序和智能合同的区块链开发人员设计的。对任何编程语言有一个基本的熟悉或了解将有助于开始学习本课程。
这本书涵盖的内容
第一章 、区块链——企业和行业视角,你听说过区块链,你在想,这有什么大惊小怪的?在这一章中,我们将探讨为什么区块链是游戏规则的改变者,它带来了什么样的创新,以及技术领域是什么样的。
本章的目的是向您介绍 Hyperledger Fabric 每个组件的部署,同时揭示/构建架构。
第 3 章 ,设定一个业务场景,描述一个业务用例,然后着重理解创建一个好的业务网络的过程,从需求到设计使用区块链。
第 4 章 ,用 Golang 设计一个数据和交易模型,旨在定义什么构成了 Hyperledger 结构中的智能合约。它还将向您介绍一些关于智能合约的术语,并让您体验使用 Go 语言开发链码的过程。
第 5 章 、揭露网络资产和交易,利用上一章写的智能合约,本章着眼于应用到网络的必要集成。它向读者介绍了从客户端应用程序配置通道、安装和调用链码的过程,并考虑了可能使用的各种集成模式。
第 6 章商业网络,目的是介绍和揭示商业网络建模所需的技能和工具。在更高的抽象层次上工作,基础、工具和框架将为读者提供一种快速建模、设计和部署完整的端到端业务网络的方法。
第 7 章 ,一个业务网络示例,将前一章的概念付诸实践,本章将逐步介绍从最终用户应用到智能合同的完整业务网络的部署步骤。*
第八章 ,区块链网络中的敏捷性,重点关注在区块链网络中保持敏捷性所需的方面。应用 DevOps 概念,读者可以看到一个持续集成/持续交付的管道。
第 9 章 、区块链网络中的生活,旨在提高读者对组织和财团在采用分布式账本解决方案时可能面临的关键活动和挑战的认识,从管理应用程序变更到维护足够的性能水平。一个成功的网络部署将有望看到许多组织加入其中,并且交易数量会增加。
第十章 、治理——被监管行业的必要之恶,治理是被监管行业的必要之恶,但治理并不只是针对处理被监管行业用例的业务网络才需要。这也是确保企业网络长寿和可伸缩性的一个好方法。本章探讨了创始人领导的区块链网络生产准备的重要考虑因素。
第十一章 、超账本架构安全,为区块链网络的安全设计奠定基础。讨论了各种安全结构,并详细解释了 Hyperledger Fabric 安全性。理解安全设计考虑的重要章节。
第十二章 ,区块链技术简介,给出了关键概念的概述,如密码学和哈希算法、分布式账本、交易、区块、工作证明、挖掘和共识。我们将详细介绍区块链技术之母比特币。我们通过指出比特币的一些限制以及以太坊如何解决这些限制来简要介绍以太坊。虽然比特币和以太坊是公共区块链的例子,但 IBM 的 Hyperledger 被用作企业区块链的例子。在这一章的结尾,我们来看看区块链的发展,通过 1.0,2.0,3.0,以及更高的版本,并且我们检查它们的用例。
第十三章 ,以太坊基础,涵盖了以太坊的基本概念,如智能合约、以太、共识算法、EVM、气体、账户等。我们将讨论以太坊的性能,并回顾如何通过工作证明、casper、等离子体和分片来提高整体性能。
第十四章 ,solidity 编程概述,讨论了什么是 Solidity,以及 Solidity 开发环境的工具。然后,我们讨论智能合同及其常见模式。我们将讨论智能合约安全性这一重要主题。最后,我们展示了如何用众筹的用例来编写智能合同。
第十五章 ,搭建一个以太坊区块链应用,看看什么是 DApp。我们给出了 web3.js 的一个快速概述,我们解释了如何建立一个以太坊开发环境,以及如何开发和测试一个 DApp。
第 16 章 ,探索使用 Hyperledger Fabric 的企业区块链应用,进入 Hyperledger Fabric 的关键概念,以及核心组件。我们将解释如何创建 Hyperledger 结构环境,如何编写链码,以及如何设置 Hyperledger 结构配置。
第 17 章 、使用 Hyperledger Composer 实现业务网络,概述了 Hyperledger Composer,并讲述了如何设置 Hyperledger Composer 环境。我们讨论业务场景、业务网络档案以及如何实现业务事务功能。
第十八章 ,区块链用例,首先从高层次上谈论跨行业的热门区块链用例,包括金融部门、公务员、供应链、物联网 ( IoT )和医疗保健。然后,在开发成功的 DApp 之前,我们将继续讨论 dapp 的正确用例。最后,我们以健康数据共享用例为例,对为其构建 DApp 进行高层次的评论。
从这本书中获得最大收益
我们关注的是组织和流程。内容不仅要确保简单易懂和自然流畅,还要确保主题的模块化。每一章都探索了区块链的一个侧面。虽然 Hyperledger 项目是专门讨论的,但关注的核心领域是区块链技术学科的共性。
这条学习路径旨在成为进入区块链技术世界的发展路径。这些章节的安排是为了确保它们能容易地被理解和自然地流动。
业务用户可以跳过详细描述如何开发区块链应用程序的章节,而是将重点放在技术和用例的一般描述章节上。
建议 It 用户下载代码并进行修改,以适应他们自己的用例或练习。
下载示例代码文件
你可以从你在www.packt.com的账户下载本书的示例代码文件。如果你在其他地方购买了这本书,你可以访问 www.packt.com/support 的并注册,让文件直接通过电子邮件发送给你。
您可以按照以下步骤下载代码文件:
- 在www.packt.com登录或注册。
- 选择支持选项卡。
- 点击代码下载和勘误表。
- 在搜索框中输入图书名称,然后按照屏幕指示进行操作。
下载文件后,请确保使用最新版本的解压缩或解压文件夹:
- WinRAR/7-Zip for Windows
- zipeg/izp/un ARX for MAC
- 用于 Linux 的 7-Zip/PeaZip
该书的代码包也托管在 GitHub 的 https://GitHub . com/packt publishing/block chain-Development-with-Hyperledger 上。如果代码有更新,它将在现有的 GitHub 库中更新。
我们在也有丰富的书籍和视频目录中的其他代码包。看看他们!
使用的惯例
文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“订购者属于其自己的名为TradeOrdererOrg
的组织。”
代码块设置如下:
- &ExporterOrg
Name: ExporterOrgMSP
ID: ExporterOrgMSP
MSPDir: crypto-config/peerOrganizations/exporterorg.trade.com/msp
AnchorPeers:
- Host: peer0.exporterorg.trade.com
Port: 7051
当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:
pragma solidity ^0.4.15;
import 'zeppelin/contracts/math/SafeMath.sol';
….
contract ExampleCoin is ERC20 {
//SafeMath symbol is from imported file SafeMath.sol'
using SafeMath for uint256;
…
}
任何命令行输入或输出都按如下方式编写:
mkdir ~/insurance-claim && cd ~/insurance-claim
Bold :表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个例子:“当前面的请求被挖掘节点验证时,HelloWorld 智能协定被调用。”
警告或重要提示如下所示。
提示和技巧是这样出现的。
取得联系
我们随时欢迎读者的反馈。
总体反馈:如果您对这本书的任何方面有疑问,请在邮件主题中提及书名,并在customercare@packtpub.com
发送电子邮件给我们。
勘误表:虽然我们已经尽力确保内容的准确性,但错误还是会发生。如果你在这本书里发现了一个错误,请告诉我们,我们将不胜感激。请访问 www.packt.com/submit-errata,选择您的图书,点击勘误表提交表格链接,并输入详细信息。
盗版:如果您在互联网上遇到我们作品的任何形式的非法拷贝,如果您能提供我们的地址或网站名称,我们将不胜感激。请通过copyright@packt.com
联系我们,并提供材料链接。
如果你有兴趣成为一名作家:如果有你擅长的主题,并且你有兴趣写书或投稿,请访问 authors.packtpub.com。
复习
请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?潜在的读者可以看到并使用您不带偏见的意见来做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们的书的反馈。谢谢大家!
更多关于 Packt 的信息,请访问packt.com。*