Hyperledger fabric 如果区块链应用程序需要本地导入的卡才能连接到商业网络,那么如何为公共演示程序托管区块链应用程序?

Hyperledger fabric 如果区块链应用程序需要本地导入的卡才能连接到商业网络,那么如何为公共演示程序托管区块链应用程序?,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我有一个本地Node.js应用程序,可以随时与我的云Kubernetes集群上的Fabric区块链通信 据我所知,这是因为: 我有一张卡片 在终端composer导入卡中 在Node.jsthis.bizNetworkConnection.connect(本地导入卡的名称) 所以我很困惑,我该如何在云上为公众托管这个应用程序,在那里任何人都可以查看它。听起来,在云计算机连接到我的业务网络之前,我必须在云计算机中执行以下步骤: 下载卡片 安装编写器 导入卡 我觉得必须有一个更简单的方法来做到这一点

我有一个本地Node.js应用程序,可以随时与我的云Kubernetes集群上的Fabric区块链通信

据我所知,这是因为:

  • 我有一张卡片
  • 在终端
    composer导入卡中
  • 在Node.js
    this.bizNetworkConnection.connect(本地导入卡的名称)
  • 所以我很困惑,我该如何在云上为公众托管这个应用程序,在那里任何人都可以查看它。听起来,在云计算机连接到我的业务网络之前,我必须在云计算机中执行以下步骤:

  • 下载卡片
  • 安装编写器
  • 导入卡

  • 我觉得必须有一个更简单的方法来做到这一点。我错过了什么?如果没有,我似乎只能通过VPS解决方案来托管此应用程序,在该解决方案中,我可以安装任何我想要的内容并将文件添加到本地文件系统。

    在生产场景中,您的应用程序可能会管理卡并为用户存储它们,并管理用户与其卡之间的映射。这是因为在大多数情况下,应用程序不仅要访问结构上的资源,还要访问其他数据源和集成点,因此应用程序更需要识别用户

    正如您正确地说的,您不会期望用户安装Composer并管理他们自己的卡。

    如果您的node JS应用程序(用于公共演示)已经能够交互(通过API导入并连接),那么它将成功地将其导入该节点上的cardstore钱包。因此,您可以让“joe public”在任何可用的公共URL上访问Node js应用程序,“它”与Fabric交互(您的用户与NodeJS应用程序交互)。在这种情况下,您的用户不必下载任何卡

    因此,NodeJS应用程序可以使用一张业务网卡(作为演示)与您在K8中部署到结构中的业务网络进行交互


    如果出于演示目的,您想查看每个登录的不同可跟踪历史记录,那么显然您必须在Composer中为该业务网络颁发不同的身份(并映射到参与者)。

    但是将卡存储在何处?卡似乎只能存储在本地文件系统中,除非我使用DigitalOcean或其他东西,否则我通常无法在云端访问该文件系统。目前,您需要访问本地文件系统。将来,在云上存储钱包(卡)还有一个悬而未决的问题:为了澄清,我在做了之后在K8s中使用了Fabric,并且我在本地导入了composer卡。我的卡可以在我的本地
    ~/.composer/cards
    composer卡列表中看到。本地运行的My Node.js应用程序,例如
    http://localhost:3000
    可以连接到该业务网络。你是说当我把这个Node.js应用程序放在云上时,例如cloud Foundry,它不再能够访问本地文件系统
    ~/.composer/cards
    ,它仍然能够找到卡并连接?我是说你需要将你必须的卡导出到磁盘,然后将它传输到云。然后(假设composer cli安装在云实例上),您可以使用
    composer卡导入
    将其导入到云存储的钱包中。然后,在云中运行的nodeJS应用程序可以“本地”访问该卡(具有凭据)——可以假定连接配置文件中的IP信息仍然相同(在该卡中),以便能够访问运行时结构基础设施。有道理吗?是的,这很有道理,也正是我所想的。“将其传输到云。然后(假设云实例上安装了composer cli),您可以使用composer卡导入到云存储的钱包中。”因此,我需要一项服务,允许我在云上安装composer cli并访问文件系统:DigitalOcean Droplet、Linode、IBM Virtual Server、,像这样的东西,我可以ssh和使用shell?即使我只想做一个人人都可以使用的公开演示,听起来我至少要每月支付5美元?你说的“你可以将Composer CLI安装为节点应用程序”是什么意思?你是说在Node.js应用程序的
    package.json
    I
    npm install composer cli
    (本地,而不是全局)中。然后,作为
    package.json
    的一部分,执行一个脚本
    post-install:./node\u modules/../composer cli card import
    ?我刚刚尝试了上述方法,它也做了同样的事情。它在
    ~/.composer/cards
    中查找。因此,如果没有VPS,这基本上无法托管?如果是这样的话,没问题——只是想确定一下。我发现:“在云环境中运行需要业务网卡的代码时,使用本地文件系统是不切实际或不可能的。”