4.5 Hyperledger结构-app开发-app

区块链


浏览:651 次

app开发-app

app可以通过向账本提交交易或查询账本内容来与区块链网络交互。本主题介绍app如何执行此操作的机制。在我们的解决方案中,组织使用调用商业票据智能合约中定义的发行、购买和赎回交易的app访问PaperNet。尽管MagnetoCorp发行商业票据的申请是基本的,但它涵盖了所有主要的理解点。

在本主题中,我们将介绍:

调用智能合约的应用流程

app如何使用钱包和身份

app如何使用网关连接

如何访问特定网络

如何构造交易请求

如何提交交易

如何处理事务响应

为了帮助您理解,我们将参考Hyperledger Fabric附带的商业票据app。你可以加入。它是用JavaScript和Java编写的,但逻辑完全独立于语言,所以您可以很容易地看到发生了什么!(此示例也适用于围棋。)

1.基本流程

app使用Fabric SDK与区块链网络交互。这是app如何调用商业纸智能合约的简化图:

形象

PaperNetapp调用商业纸智能合约来提交发行交易请求。

申请必须遵循六个基本步骤才能提交交易:

从钱包中选择身份

连接到网关

访问所需的网络

构建智能合约的交易请求

将交易提交到网络

过程响应

您将看到一个典型的app如何使用Fabric SDK来执行这六个步骤。您可以前往发布app代码,请参见。js文件。在浏览器中,如果已下载,请在您喜爱的编辑器中打开它。花一些时间查看app的总体结构;即使有注释和空格,也只有100行代码!

2.钱包

在js的顶部,您将看到两个Fabric类被引入到范围中:

const{FileSystemWallet,Gateway}=require('fabric-network');

您可以在中了解结构网络,但现在让我们看看如何将MagnetoCorp的app连接到PaperNet。此app使用Fabric Wallet类,如下所示:

const钱包=新的FileSystemWallet('../identity/user/isabella/wallet');

查看如何在本地文件系统中找到钱包。从钱包中检索到的身份显然适合使用发布app的名为Isabella的用户。钱包包含一组身份(X.509数字证书),可用于访问PaperNet或任何其他Fabric网络。如果您运行本教程并查看此目录,您将看到Isabella的身份凭据。

想象一下,一个包含政府身份证、驾照或ATM卡的数字等价物。X.509数字证书将持有者与组织相关联,以便他们在网络渠道中拥有权利。例如,Isabella可能是MagnetoCorp的管理员,这可能会给她比其他用户更多的特权(DigiBank的Balaji)。此外,智能合约可用于在智能合约处理期间检索此身份。

还要注意的是,钱包不包含任何形式的现金或代币——它们持有身份。

3.网关

第二个关键类是结构网关。最重要的是,确定一个或多个提供网络访问的对等节点-在我们的示例中,PaperNet。查看问题如何将js连接到其网关:

等待网关。connect(连接配置文件,连接选项);

网关。Connect()有两个重要参数:

ConnectionProfile:的文件系统位置,它将一组对等节点标识为PaperNet的网关

ConnectionOptions:用于控制js和PaperNet之间交互的问题选项的组

了解客户端app如何使用网关将自己与可能发生变化的网络拓扑隔离。网关负责使用交易提议并将其发送到网络中的正确对等节点。

花一些时间检查连接配置/网关/连接配置文件yaml它被用来使它易于阅读。

它已加载并转换为JSON对象:

让connectionProfile=yaml.safeLoad(file.readFileSync('./gateway/connectionProffile.yaml','utf8'));

目前,我们只对频道和同行感兴趣:在简介部分:(我们修改了详细信息,以更好地解释正在发生的事情。)

频道:

纸网:

同龄人:

peer1.magnetorp.com:

背书同行:真

事件来源:true

peer2.digibank.com:

背书同行:真

事件来源:true

同龄人:

peer1.magnetorp.com:

网址:grpcs://localhost:7051

grpc选项:

ssl目标名称覆盖:peer1.magnetorp.com

请求超时:120

tlsCA证书:

路径:c

相关资讯:
APP项目开发流程

APP项目开发流程

查看
软件外包开发过程

软件外包开发过程

查看
软件外包项目开发过程

软件外包项目开发过程

查看
如何找到一家满意的软件项目外包公司

如何找到一家满意的软件项目外包公司

查看
寻找优质APP外包公司

寻找优质APP外包公司

查看