区块链平台Coursera(第一周)许可链

课程链接 https://www.coursera.org/learn/blockchain-platforms/home/week/1

这是区块链专项课程的第四门课 区块链平台 blockchain platforms

为自己学习记的笔记,翻译可能存在问题,望谅解。

许可链 Permissioned Blockchains

目录

许可链 Permissioned Blockchains

Hyperledger

Intro: Permissioned Blockchains

Hyperledger (Part 1)

Hyperledger (Part 2)

Fabric Services

Fabric Model & Functions

Composer

Composer (Demo) (Part 1)

Composer (Demo) (Part 2)

Composer (Demo) (Part 3)

Microsoft Azure


Hyperledger

Intro: Permissioned Blockchains

我们探索周围的其他区块链平台。POW内容协议的框架,工具,替代项 alt 和字母 letters,以及可运行的分布式应用程序平台。
我们探索超级账本 hyperledger,这是一个由 Linux 基金会管理的伞形组织,来自许多著名企业(各级机构)的参与。
我们还知道 Microsoft 以区块链的形式为服务做出的贡献,该服务有助于轻松采用许多区块链技术,例如以太坊,R3 和 Hyperledger Fabric等。

然后,存在着激烈争论的问题,例如协议内容的 可扩展性 scalability,隐私 privacy,机密性 confidentiality 和区块链技术的互操作性 interoperability 。 以及自动付款问题,例如第三方托管的支付和多重签名合约。

当然,我们也看到了区块链的新兴替代品,比如Hashgraph。

我们在这最后一门课的目标是在较高的层次上讨论这些重要的主题。

学习目标:
能够讨论 Hyperledge 的许可区块链架构。
将区块链作为 Microsoft Azure 提供的服务进行讨论。
在 Augur 和 Grid + 中分析两个代表性的分散式应用程序平台。
探索广泛采用区块链面临的挑战以及不断改进的解决方案。
探索替代的权力下放模型 alternative decentralization models ,例如 IPFS 和 Hashgraph。
区块链平台Coursera(第一周)许可链_第1张图片

Hyperledger (Part 1)

比特币区块链的主要目的是支持分散的点对点支付系统。这应该是一个透明 transparent,未经许可的 permissionless 公共系统,任何人都可以随意进入和离开,就像其他无记名支付系统 bearer payment system (例如交易现金)一样。但是,当区块链的用例从简单的支付系统扩展到个人医疗系统和金融系统等业务领域时,隐私和受限访问就变得势在必行。即使在公共支付系统中,很明显,整个链可能也不相关,也不需要所有参与者记录下来。例如,在布法罗学区的商业交易可能与内罗毕旅游局的交易无关。这样的想法导致了许可区块链的创建,其中只有拥有许可的节点才能进行交易,并参与区块链操作。因此,我们有特征化 characterization,即许可的区块链 Permissioned blockchain 。基于其在特定垂直业务领域(例如汽车或食品服务联盟)中的常见用例,许可区块链也称为联盟区块链 consortium blockchain。

在本模块中,我们将探讨两个主要技术组织的贡献。 Linux Foundation 的 Hyperledger Fabric Microsoft Azure 的区块链服务。前者是许可区块链平台,而后者则利用其流行的云产品来允许用户建立多个区块链平台。

学习目标:
能够解释Linux Foundation的Hyperledger项目的目标和工作,
解释Hyperledger Fabric的体系结构和工作,
探索Hyperledger Fabric的工具和应用程序开发,
提供Microsoft Azure的区块链即服务的高级概述。
区块链平台Coursera(第一周)许可链_第2张图片

Linux基金会在2015年启动了Hyperledger项目,以促进跨行业的合作。 目标是并且现在仍然是将利益相关者,技术提供商和开发人员召集在一起,以促进区块链解决方案的开发和采用。当Unix成为流行的操作系统时产生了许多非标准的商业版本时,我们中的一些人还记得类似的情况。 Solaris,AIX,BSD等。最终是Linux操作系统的开源版本。一个类似的情形正在区块链上演。 工业伙伴和开发人员社区之间的这种协作也有助于理解用户的集体需求,并尽量减少设计和工程工作的重复。它还可以提高进步的速度,特别是在这一新兴技术中,许多挑战仍有待解决。这种协同工作还有许多其他的优点,您可以在课程的参考资料部分阅读我们提供的参考资料。

完成本课程后,您将能够解释 Hyperledger initiative,并列出一些超级账本框架和工具的实现。

Hyperledger是一个生态系统,不仅支持区块链协议,分布式账本和智能合约,而且还支持用于开发人员,企业和其他利益相关者积极参与和协作的框架和工具。
区块链平台Coursera(第一周)许可链_第3张图片

总体目标是促进安全,可靠,高效,创新,质量驱动的开源组件和平台的开发,以支持企业采用区块链技术。Linux基金会,成员和同事已经建立了一个支持这些目标的家园和环境。 Hyperledger 的基本框架由 Linux Foundation 定义。然后,成员组织可以通过扩展此定义来设计其区块链。 该项目还有助于构建工具和框架,并支持教育和应用程序开发活动。预计在定义明确的规范的保护下,由各种成员创建的区块链模块将可插入彼此的技术环境中。

Hyperledger (Part 2)

超级账本的 logo 描述了超级账本项目的目标。包括通用函数模块和定义的接口;重用常见的构建区块,多样化的开发者社区;快速试验,可扩展的代码库以及对任何组件的灵活修改。
区块链平台Coursera(第一周)许可链_第4张图片

(在该课程视频创建时)Hyperledger推出已经两年了。在进行此记录时,全球共有191个成员,四个工具,五个框架以及对代码库的贡献。五个框架分别是 Fabric,Sawtooth,Indy,Iroha,Burrows,都是基于超级账本框架。在这五个框架中,有一个已经完成了孵化并投入生产。它是 IBM 的 Hyperledger Fabric 1.0。

工具对于快速进行原型制作 prototyping 和测试至关重要,而孵化的四个工具是 Cello,Quilt,Composer 和 Explorer.
稍后,我们将演示Hyperledger Composer的用法。 这为组装区块链应用程序提供了便利的开发环境。

回想一下,比特币协议根据 UTXO(未使用的交易输出 Unspent Transaction Outputs)定义了区块链的交易。 以太坊协议引入了智能合约和账户的概念。 Hyperledger Fabric 在定义具有角色和资产的整个业务网络,协议更接近实际应用程序方面比以太坊更进一步。

比特币、以太坊和超级账本之间的区别

1)no cryptocurrency 在超级账本协议中没有加密货币。
2)only business logic Hyperledger 只用于处理业务逻辑,比如智能合约功能。智能合同代码在Hyperledger中称为chaincode
3)Fabric is a permissioned blockchain  Fabric是一个许可区块链,未知的伙伴不能随意加入和离开网络。
4)B2B and B2C  Hyperledger旨在为企业对企业(B2B)、企业对客户(B2C),而不是任何未知的、缺乏信任的、分散的同行,设计解决方案。
5)Mining only by designated validating peers  挖矿操作不同。只有指定的验证节点才能在 Hyperledger 中执行挖矿操作。
6)上面的特性有助于实现共识算法 PBFT(Practical Byzantine Fault Tolerance 实用拜占庭容错)而不是使用 比特币区块链的工作量证明 proof of work 。

阅读材料:
About Hyperledger
Hyperledger tutorial
What is Hyperledger? Brian Behlendorf Explains the Linux Foundation's Blockchain Initiative
Hyperledger Fabric
An introduction to Hyperledger Fabric from The Linux Foundation
Microsoft And The Blockchain: MSFT's Big Projects

测试题
区块链平台Coursera(第一周)许可链_第5张图片
区块链平台Coursera(第一周)许可链_第6张图片

Fabric Services

Hyperledger fabric 是一个许可的商业区块链 permissioned business blockchain.。当我们开始探索一个新的平台时,通常的做法是从一个关于该平台的白皮书开始。我们将从提供基于服务的超级账本描述的白皮书开始。

学习目标:
能够列出基于服务的超级账本框架 services-based architecture Hyperledger framework
列出超级账本框架提供的服务和API
解释它提供的各种服务。

根据白皮书,Hyperledger的设计非常重视模块化 modularity 和可配置性 configurability ,插件模块 pluggable modules。 Hyperledger 区块链应用程序将其域视为由许多不同容量的交互区块链组成。
以下内容是Hyperledger区块链的面向服务的表示形式。参考体系结构指定了四个不同的服务组以及用于应用程序访问它们的相应API。下面是Heperledger框架提供的服务列表,包括身份服务 identity services、协议服务 policy services、区块链服务 blockchain services 和智能合约服务 smart contract services。现在我们将讨论每个组所涵盖的概念。
区块链平台Coursera(第一周)许可链_第7张图片

身份服务模块 管理实体 entities,参与者 participants,账本对象  ledger objects(例如智能合约)的身份。在 fabric 中,智能合约 smart contract 被称为链码 chaincode。
协议服务模块 管理访问控制 access control,隐私详细信息 privacy detail,联盟规则 consortium rules 和共识规则  consensus rules。
区块链服务模块 管理点对点通信协议 peer-to-peer communication protocol ,维护全局状态的分布式账本 the distributed ledger maintaining the global state,在许多参与者处复制的全局状态 the global state replicated at many participants,可插入共识算法the plugable consensus algorithm,PBFT或POW。
智能合约服务模块 为链码的执行提供了安全的轻量级沙箱。

只有完整的节点才能调用包括智能合约服务在内的 验证节点 validating nodes。该服务还提供了与以太坊虚拟机,注册表 registry,和生命周期管理 life cycle management 函数等效的安全容器。

运行字节码的Java虚拟机通常用作智能合约执行的计算环境。
API允许应用程序调用基础服务。
SDK可帮助根据这些API对开发进行编码。
CLI是一个命令行界面,用于调用这些API进行测试。

阅读材料
Main three components of Hyperledger Fabric
Peer channel-based event services
Architecture Explained
APIs - CLI, REST, and Node.js
Blockchain Development on Hyperledger Fabric using Composer : What is Hyperledger?

测试题
区块链平台Coursera(第一周)许可链_第8张图片

Fabric Model & Functions

自从超级账本白皮书发布以来,已经成立了许多工作组。在这些工作组中,Hyperledger体系结构工作组为上一节中讨论的各种服务定义了分层体系结构。该小组的最初重点是超级账本框架的即插即用 plug and play 功能。 这使 IBM,Intel,Exit Direct 的各种成员可以实现自己的特定功能版本。 可插入性实现了弹性和可扩展的体系结构。 将其与早期的区块链设计区分开。模块化设计和节点的允许参与可实现机密性 confidentiality,弹性 resilience,灵活性 flexibility 和可伸缩性  scalability。 必读文档可在所示链接中找到。
区块链平台Coursera(第一周)许可链_第9张图片

完成本模块,你将能够描述 fabric 模型及其功能。

Fabric 模型包括交易 transactions,节点 peers ,资产 assets,链码 chaincode,分类帐 ledger,通道 channels,身份 identity,成员 membership 和共识机制 consensus mechanisms。
区块链平台Coursera(第一周)许可链_第10张图片

在这里,您可以看到Hyperledger Fabric启用的应用程序的旧视图。您会看到多个业务区块链,每个区块链都有自己的通道,验证节点,身份和会员管理会员服务。机密 confidential 智能合约可实现不同独立业务网络之间的交互。交易可以在单个网络内或跨网络内。 现在,我们将详细研究各个组件。
区块链平台Coursera(第一周)许可链_第11张图片

Peers 是启动事务并维护账本状态的节点。peer nodes 有三种类型:
Endorsers:Endorsing peers, receive and validate transactions,return them to the creating application. 认可对等节点,接收并验证交易,对其进行签名,然后将其返回给创建的应用程序。
Ordering peers 收集已签名的交易,将其排序为块,然后将其发送给 committing peers。
Committing peers 接收订购服务创建的块。 验证双重支出和签名等条件,然后将其提交到分类帐本。
区块链平台Coursera(第一周)许可链_第12张图片

Assets 代表在区块链中交易的有形有价物品,例如食品供应和金融资产。资产在程序中以二进制格式的JSON表示为键值对。
区块链平台Coursera(第一周)许可链_第13张图片

Chaincode 是定义一组资产并提供用于在资产上操作和更改状态的函数的智能合约。它还实现了特定于应用程序的规则和策略。函数执行可能会导致状态更改记录在账本中。
Ledger 类似于其他区块链账本,它是结构中状态交易的防篡改记录。状态更改是由结构上的参与者发起的事务通过调用链代码功能来实现的。
Transaction 强制执行分配的事务和权限服务设置的所有访问控制规则,以执行要执行的事务并将其包含在记录块中。每笔交易都会产生一组资产对 asset pairs,这些资产对会在创建更新和删除时记录在分类账本中。由于分类帐本是键值存储,因此可以轻松查询分类帐以供以后分析和审核。

Channels 定义了一个实体的单一许可网络,并为其所有交易和状态更改提供了一个分类帐本。Channel 为一组实体提供了隔离的结构,以便私下进行交易。即使在通道内,也可以通过 skating 和使用加密方法来实现数据和交易的机密性。
Channel 还提供了通过跨链链码 支持竞争企业和受监管行业之间的多边交易的能力。 在这种情况下,每个私有企业财团在其自己的私有网络上运行,跨链交易由链码中实施的策略控制。
区块链平台Coursera(第一周)许可链_第14张图片

Membership 像比特币这样的公共区块链,它们是未经许可的,未知实体可以随意加入和离开。 想要加入 Fabric 网络的实体,可以通过受信任的成员资格服务提供商(Membership Service Provider,MSP)进行注册。 组织通过 MSP 管理其成员资格以及参与实体的角色。参与实体应具有可验证的身份 Identity。
Identity: 为了实现信任,MSP 的默认实现使用 X.509证书作为数字身份。对等节点 peer nodes,客户端应用程序 client application,业务实体 business entities 和管理员 administrators 在 Fabric 中需要统一的身份。每个都分配有一个身份,它是X.509证书。 这些身份确定了实体的角色,以及它们对访问区块链网络中资源的权限。
这就引出了下一个问题:在MSP中,谁分配它们的身份?
由MSP管理的是根证书颁发机构 root certificate authority(RCA) 和中间证书颁发机构 intermediate certificate authorities (ICA)。 在这里您看到两个组织。ORG1 没有任何子组织,ORG2有两个子组织,每个都有 RCA 和提供身份证书的 ICA。

区块链平台Coursera(第一周)许可链_第15张图片

Consensus mechanisms 高层共识是对要添加到链中的下一个交易区块的协议,以及对订单和交易正确性(包括双花和其他条件)的广泛验证和验证。 结构允许 “pluggable” 共识模型。 这意味着,根据通道的特性,下一个块的次要部分由循环策略或实用拜占庭容错机制或两者之间的任何机制决定。如果认为该通道是高度可信赖的,那么将使用简单的共识模型。 如果它是企业对消费者的通道,并且存在恶意操作的可能性,那么甚至可以将工作量证明算法 proof of work 作为共识模型插入。 
区块链平台Coursera(第一周)许可链_第16张图片

Fabric 模型的功能

Fabric 的核心是提供分布式账本技术(Distributed Ledger Technology ,DCL),通过我们在模型中讨论的各种组件,Fabric 提供了这些功能。
通过在受信任的业务对等方 trusted business peers 之间建立许可区块链网络来实现机密性和隐私性。
Fabric还通过通道提供隔离,通过会员服务提供身份管理。
它为并行运行,验证,排序并将事务提交到链的各种对等节点提供了效率。
链码函数有助于实现特定于应用程序的逻辑,并通过结构的模块化体系结构实现可配置性。
允许 pluggable 模块用于从共识模型到世界各地的国际化和政策模块的任何事物。
区块链平台Coursera(第一周)许可链_第17张图片

阅读材料
Hyperledger Fabric Model
Hyperledger Fabricdocs Documentation
Hyperledger Architecture, Volume 1
How to Write a Model (.cto) File For Hyperledger Fabric

测试题

区块链平台Coursera(第一周)许可链_第18张图片
区块链平台Coursera(第一周)许可链_第19张图片
区块链平台Coursera(第一周)许可链_第20张图片

Composer

使用 Hyperledger Composer 开发应用程序。Linux基础Hyperledger项目不仅由IBM和Intel等各种合作伙伴定义了区块链框架,而且还指定了一些用于开发应用程序的工具。在本课程中,我们将研究一些 tools 。 带有命令 you 的 human tools,可用于创建基本业务网络 skeleton Business Network,用于定义业务应用程序资产的编写器的模型化语言,以及用于部署其应用程序的编写器工具。Composer 工具和 truffled 工具类似。 

我们将通过在简单的业务区块链网络开发中使用工具来概述这些技术。开发步骤如下:
使用人工工具为业务网络创建框架代码。 在创建的 CTO 文件中,您将找到业务网络中所有资产,参与者和交易的类定义。
该.cto文件是用 Hyperledger 编写器建模语言编写的,在Javascript文件中是 transaction 函数。在访问控制文件 access control file (ACL) 中,是基本的访问控制规则。更新CTO JavaScript和ACL文件后,使用 composer 工具对整个目录进行打包,将代码打包到可部署的业务网络存档中。
区块链平台Coursera(第一周)许可链_第21张图片

Composer 用于设置凭据 setting the credentials、在服务器中运行和部署应用程序。
The composer playground tool 允许与已部署的业务网络进行交互。

您想知道用于资产定义文件的.cto 类型的来源吗? 它来自 concerto 一词。

我们将通过开发一个申请商品交易应用程序来说明这些步骤。您将使用composer工具定义设置项目所需的文件。这里显示了项目文件的目录结构。在演示中,我们将开发应用程序和接口来添加和更新商品的详细信息。与交易有关的任何交易,都将记录在分类帐中。 在最后几课中,我们讨论了使用Hyperledger编写器工具的Hyperledger面向服务的体系结构,结构模型的组件和功能,以及在Hyperledger结构框架上的应用程序开发。

在接下来的几个视频中,我们将演示Composer工具。
如果您希望跟随演示,您可以下载提供的虚拟机映像并使用它。演示之后的详细说明在文档中提供。

Composer (Demo) (Part 1)

我们将分四部分提供该演示:第一,在归档文件 archive file 中创建业务逻辑和网络。 其次,使用Composer工具部署项目档案。 第三,使用3000端口的容器和4200端口的Angular应用程序浏览API。 以及使用Composer Playground在端口8080上的Web界面.

我要做的第一件事是我要安装Fabric基础结构。我已将所有命令保存在文件中. 可能需要您下载大约3 GB的VM和虚拟机映像,如果要这样做,则可以继续进行操作或观看视频。

首先,我想要的是,我位于virtual box的基本目录中,并且已经安装并导入了它,

cd ~/fabric-dev-servers/
./startFabric.sh
区块链平台Coursera(第一周)许可链_第22张图片

./createPeerAdminCard.sh
区块链平台Coursera(第一周)许可链_第23张图片

我为管理员创建了一个凭证。

下一步是建立将在其中创建有关您的逻辑代码的业务网络。 我已经创建了Hyperledger教程提供的教程网络,但是我将向您展示如何创建初始模板。 这就像您的 truffle。 因此,我要说的是,我们将使用一个非常好的脚手架项目初始化工具yo ,它创建了大量文件,如您所见,这些文件应该在mynet中可用,并且这是人工工具根据Hyperledger Composer和Business Network指定的规则为您创建的模板。

yo hyperledger-composer:businessnetwork

区块链平台Coursera(第一周)许可链_第24张图片

对我们来说重要的是定义逻辑的 models。  Library- inside 有一个文件-where.logic.js,用于定义事务。 这是一个权限网络,因此权限在此处定义。 这是我们将要影响的仅有的三个文件。 作为开发人员,这是您要创建基本业务网络要添加的三个项目。 因此,我们已经在 tutorial-network 中创建了它,因此我将进入 tutorial-network。

more org.example.mynetwork.cto

区块链平台Coursera(第一周)许可链_第25张图片
区块链平台Coursera(第一周)许可链_第26张图片

让我们看一下 models 。 该 models有一种资产商品 asset commodity。它有一个资产交易员 asset trader,参与交易员participant trader。 因此,存在一种资产 asset ,它是一种商品 commodity,因为这是用于商品交易的业务网络 business network for commodity trading。 还有一个交易者 trader ,该交易者是所有者 owner,并通过ID,名字和姓氏 以及将商品转移到新所有者的交易进行标识。 这很简单。

然后,让我们看看定义它们的逻辑,定义交易的逻辑。 我要说的是logic.js,您可以看到此处定义的交易。 

区块链平台Coursera(第一周)许可链_第27张图片

第三项是权限 permissions , 谁可以访问什么,这是我们要做的简单操作。

区块链平台Coursera(第一周)许可链_第28张图片

现在,我们已经根据模型 model,逻辑 logic 以及访问各种项目 item,资产asset,参与者和交易的权限创建了项目所需的工件。 我们可以继续创建可以在 fabric 上部署的 archive 。 再次,我们为此使用composer工具,composer archive 命令。 使用当前目录创建,然后将存档 archive 放置在当前目录中。 我使用的是我们创建的新网络,但实际上我在要移入的另一个网络中预先创建了所有元素。

区块链平台Coursera(第一周)许可链_第29张图片

您会看到,此composer archive命令创建了业务网络归档类型bna。 我将回到我们已经为您创建的教程网络,该网络已预先填充了现实的贸易商品 trade commodity 和交易者  trader 信息。 在这个网络中,我将使用该网络,正如您将看到的那样,已经创建了业务网络档案,并且将使用该网络来安装该网络,并将其安装在该网络上。 我们部署了。

Composer (Demo) (Part 2)

现在,我们已经根据模型,逻辑以及访问各种项目,资产,参与者和交易的权限创建了项目所需的工件。我们可以继续创建可以在结构上部署的存档。再次,我们为此使用composer工具,使用 composer archive 命令。使用当前目录创建,然后将 archive 放置在当前目录中。我使用的是我们创建的新网络,但实际上我是在要移入的另一个网络中预先创建了所有元素。好的,您可以看到,该 composer 命令创建了业务网络 archive 类型bna。我将回到我们已经为您创建的教程网络,该网络已预先填充了现实的贸易商品和交易者信息。在这个网络中,我将使用该网络,正如您将看到的那样,已经创建了业务网络档案,并且将使用该网络来安装该网络,并将其安装在该网络上。我们部署了。

composer network install --card PeerAdmin@hlfv1 --archiveFile [email protected]

区块链平台Coursera(第一周)许可链_第30张图片

composer network start --networkName mynet --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card

区块链平台Coursera(第一周)许可链_第31张图片

再次是我们使用composer工具,并且使用composer install,我们已经安装了我们创建的新业务网络,现在,让我们开始吧。 如您所见,我们创建的业务网络已经部署,并且网络管理分支已经建立。 现在,我们可以启动其余服务器,文档再次向您清楚地说明了其中涉及的步骤。您应该能够遵循并运行它。 因此,再一次创建一个 rest 服务器,我们将使用composer-rest- server。

composer-rest-server

区块链平台Coursera(第一周)许可链_第32张图片

这里出错。按视频来看,应该如下显示:
**接下来的内容为视频截图,具体的按文档的实际操作命令和截图在我的博文 Composer-Demo 中。
博文是否发布及有没有截图根据我的操作情况和懒惰程度而定。

区块链平台Coursera(第一周)许可链_第33张图片

然后在浏览器中打开并输入 localhost:3000
在这里,您可以看到 Explorer Tool 生效,commodity 就是其中之一。 这些都是用于 commodity 系统的API。这些都是其余要使用的API公开应用程序,也可以使用外部应用程序。

区块链平台Coursera(第一周)许可链_第34张图片

区块链平台Coursera(第一周)许可链_第35张图片

区块链平台Coursera(第一周)许可链_第36张图片

既然我们已经做到了,我们将进一步开发一个角度界面  angular interface ,即角度应用程序 angular app。

现在,我们已经使用composer工具在Fabric网络上部署了结构,还使用了暴露API的rest服务器,现在让我们来看看composer游乐场可以为我们做些什么。 它提供了很多工具供您查看和查看添加和编辑业务网络等内容,因此它是一个多功能的工具。 我将从此开始,然后走出协议,超账本协议,然后启动一个 angular app ,然后再看一下角度应用程序。 我认为运动场将为您带来比angular应用本身更令人印象深刻的互动领域。 只是出于完成的缘故,我还要去做 angular app,我先去 playground ,然后再去 angular app。 因此,composer 再次像truffle init 和 truffle 命令组成了我们的 playground 一样,我们将为您设置8080的Web界面,您可以看到。 这给您带来了很多乐趣,这就是为什么它被称为 playground 。

composer -playground

区块链平台Coursera(第一周)许可链_第37张图片

让我们等待几分钟,正如您所看到的,它为您提供了一个 Readme file 和 model file,因此您可以看一下,嗯,非常漂亮的Web界面您想要添加到业务网络中的任何内容都可以添加,我们为交易添加的脚本文件 Script file 也在此处。 如果需要,您可以添加更多 skip,然后添加访问时间表。 很明显,游乐场使您能够通过Web访问这些组件并进行编辑和添加。 这些是我们用来创建业务网络存档的文件。 好吧,让我们看看我们还能做什么,我们可以进入管理员。 在右上角admin中,现在选择连接到 my business network。

区块链平台Coursera(第一周)许可链_第38张图片

区块链平台Coursera(第一周)许可链_第39张图片

区块链平台Coursera(第一周)许可链_第40张图片

然后点击test

Composer (Demo) (Part 3)

在测试网络中,我们已经创建了一些商品,并且还有几个交易者 trader。因此,让我们看看我们是否可以添加交易者,还可以添加商品 commodity 或交易商品。

区块链平台Coursera(第一周)许可链_第41张图片

点击左侧的 trader,我要增加一个 trader,点击右上角 create new participate 。我将tradeID其设置为6666,我将使用 Lolla 和 Sykes 分别为first name 和 last name。Create New,您将看到 。否则,您会看到一条小纸条或通知,说它正在等待处理。

让我们看看是否可以转让商品,点击 all transaction 可以看到 AddParticipant。这些是跟踪所有事务的链,您可以点击 view record 看到哈希值和时间戳。然后我要submit Transaction。在这种情况下,在商品编号commodity number中,我认为我们有一个PQR,而我将要制作商品PQR。

区块链平台Coursera(第一周)许可链_第42张图片

把 trader=6666,然后提交submit,您可以看到交易已成功提交,所以有时您会看到待处理,因为我需要一些时间来验证凭据等。交易完成,然后回去查看商品,您会发现该特定商品已转移到编号6666 的 Lolla Trader。这是一个简单的测试,您可以在所有游乐场玩耍,可以看到所有交易,可以阅读交易者,依此类推。 那是操场的非常简单的展示。 我将在此处停止,然后让我们回到演示的最后一部分,在该部分的最后部分中,可以将Angular应用程序创建为Web应用程序进行交易或查看Blockchain本身。 为了再次创建Angular应用,您将使用Yeoman scaffolding tool 和 Hyperledger Composer

Angular作为生成器,如您在此处的屏幕上所见。 Yo hyperledger-composer:angular 

 它会经过并创建,它会问您几个问题

区块链平台Coursera(第一周)许可链_第43张图片

开始创建。

它经过一组必需的安装。一旦完成,请转到应用程序Angular应用程序目录并启动 npm start 以将 Angular 启动到简单服务器,以支持Angular应用程序。 然后,我们可以使用找到的Web端口4200与Angular应用进行交互。

需要几分钟,请耐心等待。 它安装了我需要的所有Node.js项。我要进入 Angular 应用程序,然后npm启动Sober,现在可以开始了。 

打开浏览器输入 localhost:4200

区块链平台Coursera(第一周)许可链_第44张图片

这就是您的angular-app。同样,资产,商品,有可能您可以添加,现在我们正在查看时,可以看到我们在此处创建的内容。因此,现在您可以在这里轻松创建资产,点击 create asset,这里有非常好的模板。设置 tradingSymbol 为abc,description 为TV Company 或其他随便什么。mainExanges 为NYSE。quantity 为1,000。confirm。然后会添加一个 abc。

点击顶部的participate ,您可以看到 Trader ,有三个人,我们在交易中创建的Lolla。点击顶部的 Transactions,Trade。没有创建任何接口,但是如果您要执行此操作,则可以执行。好的,这就是composer,资源管理器,游乐场和Hyperledger架构以及Hyperledger架构的全部工具。请自己测试一下,好吗?提供了一个VM,测试是可选的。但是,如果您有空,这个预先安装的VM应该可以为您提供帮助。通过这样做并更深入地创建Hyperledger区块链框架,了解Hyperledger。

阅读材料
Hyperledger Composer
What is Hyperledger Composer from The Linux Foundation with Dan Selman

Hyperledger Composer Modeling Language
Model and test your blockchain network

Microsoft Azure

 在本课程中,我们将探讨微软对区块链的贡献。 微软正在与以太坊和金融公司合作在CoCo区块链中开发自己的平台。 同时,它还创建了一个框架,用于在其云产品中托管不同的行业区块链。 让我们探索Microsoft Azure的区块链即服务模型。

完成本课程后,您将能够讨论Azure的区块链工作的愿景。 解释Microsoft Azure区块链即服务的构建基块,并列出Azure支持的各种平台。

Microsoft Azure的顶级愿景是加速区块链部署。 它通过提供工具和开发环境来快速部署端到端解决方案来实现此目的。 通过在多个平台之间即插即用 plug-and-play 提供集成功能。支持账本和网络的快速部署,并在云或用户本地基础架构上配置区块链。
区块链平台Coursera(第一周)许可链_第45张图片

Azure 区块链作为一个服务特征包括:
一组准备部署的分类帐本,
一个具有多个节点的区块链网络,这些节点具有散列,挖掘,节点间的共识以及将复制的分类帐分发到所有节点的功能,
用于开发业务逻辑的预配置网络配置,
单一位置的工具和基础架构
云平台的数据安全性和可扩展性
单节点分类帐本和多节点分类帐本。
区块链平台Coursera(第一周)许可链_第46张图片

已记录的Azure区块链产品包括 以太坊和企业以太坊 Enterprise Ethereum,Hyperledger架构,R3 Corda,Chain 和 Quorum。

让我们看一下Azure的区块链架构
Azure创建任何区块链平台所需的基础架构,并维护每个平台的网络。 网络架构因每个区块链平台而异。 以太坊将有一个次要和非次要节点 minor and non-minor nodes,而R3 Corda将有一个公证人节点 notary nodes 和参与节点 participating nodes。 网络体系结构还取决于您指定的节点配置。 所有网络组件将在单个资源组下。
区块链平台Coursera(第一周)许可链_第47张图片

您将如何使用Azure区块链作为平台服务?
首先,您需要选择平台。例如,Ethereum、Corda或Hyperledger
接下来,根据您的应用程序模型,您需要选择分类账的类型,单节点或多节点
一旦确定,您需要输入所需的网络配置。比如Ethereum,节点数,虚拟机存储类型,虚拟机大小等等。
在输入配置细节之后,Azure将根据您提供的输入配置创建一个资源组,其中包含您的网络所需的资源。Azure将提供连接  connection、维护 maintenance 和基础设施 infrastructure。
您可以通过ssh进入节点进行交互,所有连接的节点将自动同步。
除了这些之外,您还可以为开发目的开发其他工具,比如truffle IDE。
区块链平台Coursera(第一周)许可链_第48张图片

阅读材料
What is Microsoft Azure, Anyway?
Tour of Microsoft Azure
Simplifying blockchain app development with Azure Blockchain Workbench

测试题

区块链平台Coursera(第一周)许可链_第49张图片

 

你可能感兴趣的:(区块链学习笔记)