如何连接不同的计算机加入频道并在超级账本上实时查看调用内容(交易)?

Posted

技术标签:

【中文标题】如何连接不同的计算机加入频道并在超级账本上实时查看调用内容(交易)?【英文标题】:How to connect with different computer to join the channel and view the invoke contents (transaction) in real time on hyperledger fabric? 【发布时间】:2020-03-12 13:57:52 【问题描述】:

我是一名学习 Hyperledger Fabric 的学生。 有没有办法在另一台计算机上实时检查通过超级账本结构创建的块中的交易历史?

我已经建立了渠道和同行。 如何使用两台电脑访问两个频道?

很多人会说 SDK、Rest-API、BNA 等,但从概念上讲很难。 我应该全部使用它们吗?

我只想编写一个简单的代码,其中输入 10 个字符串并形成一个块。 请帮帮我。

ca.org1.example.com:
    image: hyperledger/fabric-ca
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.org1.example.com
      - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
      - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/fd6ad41bc5687605cf9c9c2e5e0b8913ea3e49975ab09e4fece68723e5fcecb8_sk
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.org1.example.com
    extra_hosts:
      - "ca.org1.example.com:192.168.xxx.xxx"
      - "ca.org2.example.com:192.168.xxx.xxx"
      - "orderer.example.com:192.168.xxx.xxx"
      - "peer0.org1.example.com:192.168.xxx.xxx"
      - "peer1.org1.example.com:192.168.xxx.xxx"
      - "peer0.org2.example.com:192.168.xxx.xxx"
      - "peer1.org2.example.com:192.168.xxx.xxx"

我的 docker-compose-cli.yaml 文件。

我学的时间不长……

【问题讨论】:

你到底想做什么?你试过什么?你看完教程了吗? 您是否尝试过配置 Hyperledger Explorer?我完全推荐使用 SDK。 我已经建立了一个以块为单位的频道。并且我们设置了 peer0 和 1。我想将 peer1 设置为外部主机,并希望 pee1 在发送查询时正确获取值。我想配置一个外部主机,但我不确定如何 【参考方案1】:

您可以使用 docker swarm 在不同的计算机上运行多个节点。 swarm 将由 orderer 系统维护的位置 你可以用这种方式创建群网络 docker swarm init --advertise-addr <orderer ip> #ip of your orderer

上面的命令会生成token like->

docker swarm join --token SWMTKN-1-1v7iz94ay5ubv6tg93lh82q2s4yekcbndgldydcrtjz06tzv9j-22njpwu7igsfmpqc4zdbjybap 10.244.5.78:2377

在其他计算机上运行上述令牌命令,使其加入 swarm 网络。 现在你可以通过docker node ls查看他们是否加入了网络 这将列出 swarm 网络中的所有工作人员和管理人员。

现在在所有节点上运行这个命令,看看他们的 docker network 也在 swarm 中运行 docker run -itd --name hello --net docker-config_default busybox #a docker-config_default n/w is created

然后您可以通过docker network ls 检查网络是否已创建。 现在您可以停止并移除容器docker stop hello && docker rm hello 在启动 docker 容器之前,请务必将其添加到所有 docker yaml 文件中

version: '2'
networks:
      default:
        external:
                name: docker-config_default

现在通过进入每个系统进入您拥有组织对等方的 yaml 文件的目录,并且 orderer 启动它们示例 1)docker-compose -f docker-orderer.yaml up -d 2) 在其他系统中docker-compose -f docker-ca.yaml up -d && docker-compose -f docker-peer0.yaml up -d && docker-compose -f docker-peer1.yaml up -d 现在您的节点将启动并运行,您可以使用 curl 命令检查它们是否可以访问curl ipofnode:7051 它应该返回一些类似的消息,检查所有节点是否都可以访问。 通过上述步骤,使用 docker swarm 实现了 Fabric 的多节点设置。 现在您可以进行设置了,现在您可以安装链代码并实例化您的链代码并调用它。

【讨论】:

以上是关于如何连接不同的计算机加入频道并在超级账本上实时查看调用内容(交易)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

如何计算超级账本结构中的默克尔根?

腾讯云加入Linux旗下超级账本 其区块链项目已进入商用阶段

如何使用 dotnet aries 框架内的中介代理连接两个超级账本 aries 边缘代理?

超级账本(Hyperledger)新增包括百度金融小米移动在内的8名新成员

腾讯云加入超级账本 共同探索区块链技术应用