首页 > 编程语言 >HyperLedger Fabric基础:搭建Fabric测试网络(三)

HyperLedger Fabric基础:搭建Fabric测试网络(三)

时间:2023-08-26 23:05:09浏览次数:43  
标签:Fabric -- PWD Peer HyperLedger org1 com example 搭建

在本系列第二篇中,我们介绍了如何创建通道与在通道上启动链码的问题。本篇将探索如何使用Peer客户端与区域链网络通信。

启动测试网络后,可以使用Peer节点CLI与网络进行交互。Peer节点CLI允许您从CLI调用已部署的智能合约、更新通道或安装和部署新的智能合约。

确定当前我们仍处于test-network文件夹下。

接下来,使用以下命令将fabric-samples文件夹下的bin子文件夹下的Peers二进制文件添加到CLI路径:

export PATH=${PWD}/../bin:$PATH

然后,您还需要将FABRIC_CFG_PATH设置为指向Fabric示例存储库中的core.yaml文件:

export FABRIC_CFG_PATH=$PWD/../config/

现在,我们可以设置允许将Peers CLI作为Org1进行操作的环境变量:

# Environment variables for Org1

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/[email protected]/msp
export CORE_PEER_ADDRESS=localhost:7051

运行以下命令以初始化具有资产的分类帐。(请注意,CLI不访问Fabric网关Peer,因此必须指定每个认可Peer。)

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"InitLedger","Args":[]}'

成功运行后,显示结果如下:

2023-08-26 21:28:12.576 CST 0001 INFO [chaincodeCmd] chaincodeInvokeOrQuery -> Chaincode invoke successful. result: status:200

现在,您可以从CLI中查询分类帐。运行以下命令以获取已添加到您的渠道分类账中的资产列表:

peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'

成功调用后,显示结果如下:

[{"AppraisedValue":300,"Color":"blue","ID":"asset1","Owner":"Tomoko","Size":5},{"AppraisedValue":400,"Color":"red","ID":"asset2","Owner":"Brad","Size":5},{"AppraisedValue":500,"Color":"green","ID":"asset3","Owner":"Jin Soo","Size":10},{"AppraisedValue":600,"Color":"yellow","ID":"asset4","Owner":"Max","Size":10},{"AppraisedValue":700,"Color":"black","ID":"asset5","Owner":"Adriana","Size":15},{"AppraisedValue":800,"Color":"white","ID":"asset6","Owner":"Michel","Size":15}]

当网络成员想要转移或更改分类账上的资产时,会调用Chaincodes。使用以下命令通过调用资产转移(基本)链代码来更改分类账上资产的所有者:

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}'

由于资产转移(基本)链代码的背书策略要求交易由Org1和Org2签名,因此链代码调用命令需要使用--peerAddresses标志同时针对peer0.Org1.example.com和peer0.org.example.com。由于为网络启用了TLS,因此该命令还需要使用--tlsRootCertFiles标志引用每个Peer的TLS证书。

调用链代码后,我们可以使用另一个查询来查看调用如何更改区块链账本上的资产。由于我们已经查询了Org1 Peer,因此,我们可以借此机会查询Org2 Peer上运行的链代码。因为命令与Org1非常类似,在此省略列举。

小结

现在,我们已经使用测试网络在成功地在本地机器上部署了Hyperledger Fabric。那么,接下来,我们就可以使用这一基础设施来进一步开发自己的具体的相关解决方案了。如:

  • 将自己的智能合约部署到此测试网络;
  • 使用Fabric SDK提供的API从客户端应用程序调用智能合约,等等。




标签:Fabric,--,PWD,Peer,HyperLedger,org1,com,example,搭建
From: https://blog.51cto.com/zhuxianzhong/7246193

相关文章

  • vue--day70---搭建vuex 环境
    [email protected](Vuex)3.store4.vc==>store5.vue2中只能使用vuex的3版本  vue3中只能使用vuex的4版本6.store/index.js//改文件用于创建vuex最为核心的storeimportVuefrom'vue'//引入vueximportVuexfrom'vuex'Vue.use(Vuex)......
  • rhel 7.3搭建MySQL 5.7.21(一主一从GTID半同步复制)
    文档课题:rhel7.3搭建MySQL5.7.21(一主一从GTID半同步复制)数据库:MySQL5.7.21系统:rhel7.3环境:角色 主机名 IP 操作系统 server_id MySQL安装包master mysql-leo-master 192.168.133.111 rhel7.3 1 Percona-Server-5.7.21-20-Linux.x86_64.ssl101.tar.gzslave mysql-leo-s......
  • 求生之路2私人服务器开服搭建教程centos
    求生之路2私人服务器开服搭建教程centos大家好我是艾西,朋友想玩求生之路2(left4dead2)重回经典。Steam玩起来有时候没有那么得劲,于是问我有没有可能自己搭建一个玩玩。今天跟大家分享的就是求生之路2的自己用服务器搭建的一个心路历程。(因平台原因本文中www即为xxx,com即为zzz,http/......
  • 求生之路2社区服务器sourcemod安装配置搭建教程centos
    求生之路2社区服务器sourcemod安装配置搭建教程centos大家好我是艾西,通过上文我们已经成功搭建了求生之路2的服务端。但是这个服务端是纯净的服务端,就是那种最纯粹的原版。如果想要实现插件、sm开头的命令等功能,需要安装这个sourcemod。那本篇文章给搭建简单的说下sourcemod安装以......
  • 搭建vstftp server
    引用:https://www.jianshu.com/p/91c7d4a115e01.安装:sudoapt-getinstallvsftpd2.配置:vim/etc/vsftpd.conf#Uncommentthistoallowlocaluserstologin.#允许本地用户登陆local_enable=YES#Youmayrestrictlocaluserstotheirhomedirectories.......
  • 基于LXD搭建实验室GPU服务器(一)——宿主机的基本配置
    从零搭建服务器是一个看似简单实则有些繁琐的操作,本文旨在记录并整合这些操作,使得后续搭建可以成为一个流水线般简单流程的过程。操作系统的安装过程网络上资源非常多,本文不再赘述。本文将对刚安装的ubuntu20.04.06操作系统进行基本配置。换源由于GFW的存在,因此需要先对apt进......
  • ASP.NET-WebForm项目搭建
    目录零、开发环境一、创建工程二、发布项目三、拖拽式-调整页面零、开发环境vs2022chromeIIS服务器一、创建工程1、新建项目:2、选择web应用程序、3、设置项目存放的路径4、选择webForm的模板5、创建一个名为webs的文件夹,用于存放aspx页面:6、创建一个......
  • HyperLedger Fabric基础:搭建Fabric测试网络(二)
    在本系列第一部分中,我们介绍了搭建Fabric测试网络的目的、前提,并对其主要组件作了简介。在本部分中,我们将继续搭建Fabric测试网络的过程。创建通道¶既然我们的机器上运行起了Peers节点和Ordering排序节点,我们就可以使用该脚本为Org1和Org2之间的事务创建一个Fabric通道(Channel)。通......
  • ES搭建详细指南 + 常见错误解决方法
    下载包(官网下载)elasticsearch-7.6.2-linux-x86\_64.tar.gzkibana-7.6.2-linux-x86\_64.tar.gz解压tarzxvfelasticsearch-7.6.1-linux-x86_64.tar.gztarzxvfkibana-7.6.1-linux-x86_64.tar.gz移动解压后资源文件sudomvelasticsearch-7.6.1/usr/local/sudomvkibana-7.6.1......
  • 免费开源在线教育系统源码下载 -中小教育机构如何低成本搭建网校平台?
    在当下,线上教育已经不再是一个陌生的领域,它为学校和培训机构带来了无限的可能性。然而,搭建一个完整的在线课堂平台往往需要巨额投入,对于预算有限的中小教育机构而言,如何在低成本的情况下实现在线教育的搭建呢?本文将为您探讨几种低成本搭建网校平台的方法。 首先,一种常见的方法......