当前位置: 首页 > news >正文

免费网站建设itcask经典软文范例大全

免费网站建设itcask,经典软文范例大全,led灯网站策划书,海外版tiktok官网入口写在最前 在使用Fabric-SDK-Go1.0.0操作Fabric网络时遇到了bug。Fabric-SDK-GO的当前版本没有办法在没有系统通道的情况下创建应用通道#xff0c;而Fabric的最新几个版本允许在没有系统通道的情况下搭建应用通道。为了解决这个矛盾并使用Fabric-SDK-GO完成后续的项目开发1.0.0操作Fabric网络时遇到了bug。Fabric-SDK-GO的当前版本没有办法在没有系统通道的情况下创建应用通道而Fabric的最新几个版本允许在没有系统通道的情况下搭建应用通道。为了解决这个矛盾并使用Fabric-SDK-GO完成后续的项目开发所以只能将Fabric做降级。这里使用的Fabric版本为2.2.10。   本篇博客不会完整地介绍整个系统通道的搭建过程这里主要是为了配合使用Fabric-SDK-GO。   这里依然使用前序博文中的finance_network网络示例来展示应用通道的搭建过程。在使用Fabric2.2搭建该网络时生成证书及链码链接配置文件的过程可以直接参考博客https://blog.csdn.net/yeshang_lady/article/details/134113296。 这里就不在赘述了。 1. 创建通道配置文件 在有系统通道的情况下搭建应用通道时在启动相关docker容器之前一定要先创建系统通道(应用通道可以等到容器启动之后创建)。所以这里要先创建系统通道配置文件configtx.yaml其具体内容如下 # Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 # Organizations:- OrdererOrgName: OrdererOrgID: OrdererMSPMSPDir: ./organizations/ordererOrganizations/finance.com/mspPolicies:Readers:Type: SignatureRule: OR(OrdererMSP.member)Writers:Type: SignatureRule: OR(OrdererMSP.member)Admins:Type: SignatureRule: OR(OrdererMSP.admin)OrdererEndpoints:- orderer.finance.com:7050- Org1Name: Org1MSPID: Org1MSPMSPDir: ./organizations/peerOrganizations/org1.finance.com/mspAnchorPeers:- Host: peer0.org2.finance.comPort: 7051Policies:Readers:Type: SignatureRule: OR(Org1MSP.admin, Org1MSP.peer, Org1MSP.client)Writers:Type: SignatureRule: OR(Org1MSP.admin, Org1MSP.client)Admins:Type: SignatureRule: OR(Org1MSP.admin)Endorsement:Type: SignatureRule: OR(Org1MSP.peer)- Org2Name: Org2MSPID: Org2MSPMSPDir: ./organizations/peerOrganizations/org2.finance.com/mspAnchorPeers:- Host: peer0.org2.finance.comPort: 9051Policies:Readers:Type: SignatureRule: OR(Org2MSP.admin, Org2MSP.peer, Org2MSP.client)Writers:Type: SignatureRule: OR(Org2MSP.admin, Org2MSP.client)Admins:Type: SignatureRule: OR(Org2MSP.admin)Endorsement:Type: SignatureRule: OR(Org2MSP.peer)Capabilities:Channel: ChannelCapabilitiesV2_0: trueOrderer: OrdererCapabilitiesV2_0: trueApplication: ApplicationCapabilitiesV2_0: trueApplication: ApplicationDefaultsOrganizations:Policies:Readers:Type: ImplicitMetaRule: ANY ReadersWriters:Type: ImplicitMetaRule: ANY WritersAdmins:Type: ImplicitMetaRule: MAJORITY AdminsLifecycleEndorsement:Type: ImplicitMetaRule: MAJORITY EndorsementEndorsement:Type: ImplicitMetaRule: MAJORITY EndorsementCapabilities:: *ApplicationCapabilities Orderer: OrdererDefaultsOrdererType: etcdraftAddresses:- orderer.finance.com:7050EtcdRaft:Consenters:- Host: orderer.finance.comPort: 7050ClientTLSCert: ./organizations/ordererOrganizations/finance.com/orderers/orderer.finance.com/tls/server.crtServerTLSCert: ./organizations/ordererOrganizations/finance.com/orderers/orderer.finance.com/tls/server.crtBatchTimeout: 2sBatchSize:MaxMessageCount: 10AbsoluteMaxBytes: 99 MBPreferredMaxBytes: 512 KBOrganizations:Policies:Readers:Type: ImplicitMetaRule: ANY ReadersWriters:Type: ImplicitMetaRule: ANY WritersAdmins:Type: ImplicitMetaRule: MAJORITY AdminsBlockValidation:Type: ImplicitMetaRule: ANY WritersChannel: ChannelDefaultsPolicies:Readers:Type: ImplicitMetaRule: ANY ReadersWriters:Type: ImplicitMetaRule: ANY WritersAdmins:Type: ImplicitMetaRule: MAJORITY AdminsCapabilities:: *ChannelCapabilitiesProfiles:TwoOrgsOrdererGenesis:: *ChannelDefaultsOrderer:: *OrdererDefaultsOrganizations:- *OrdererOrgCapabilities:: *OrdererCapabilitiesConsortiums:SampleConsortium:Organizations:- *Org1- *Org2TwoOrgsChannel:Consortium: SampleConsortium: *ChannelDefaultsApplication:: *ApplicationDefaultsOrganizations:- *Org1- *Org2Capabilities:: *ApplicationCapabilities接着便可以创建系统通道了 #在finance_network目录下执行 configtxgen -profile TwoOrgsOrdererGenesis -channelID system-channel -outputBlock ./system-genesis-block/genesis.block -configPath ./如果在启动docker容器之前没有创建系统通道的话可能会提示如下错误panic: unable to bootstrap orderer. Error reading genesis block file: read /var/hyperledger/orderer/orderer.genesis.block: is a directory。 出现这种错误是因为在docker配置文件中指定了系统通道文件路径docker容器会自己创建相关文件。 2. 创建docker配置文件 这里创建compose/compose-withsystem.yaml文件作为docker容器配置文件这里要增加系统通道相关的环境变量。文件具体内容如下 # Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 # version: 2.1volumes:orderer.finance.com:peer0.org1.finance.com:peer1.org1.finance.com:peer0.org2.finance.com:networks:test:name: fabric_financeservices:orderer.finance.com:container_name: orderer.finance.comimage: hyperledger/fabric-orderer:latestenvironment:- FABRIC_LOGGING_SPECINFO- ORDERER_GENERAL_LISTENADDRESS0.0.0.0- ORDERER_GENERAL_LISTENPORT7050- ORDERER_GENERAL_GENESISMETHODfile- ORDERER_GENERAL_GENESISFILE/var/hyperledger/orderer/orderer.genesis.block- ORDERER_GENERAL_BOOTSTRAPMETHODfile- ORDERER_GENERAL_LOCALMSPIDOrdererMSP- ORDERER_GENERAL_LOCALMSPDIR/var/hyperledger/orderer/msp- ORDERER_OPERATIONS_LISTENADDRESSorderer.finance.com:9443# enabled TLS- ORDERER_GENERAL_TLS_ENABLEDtrue- ORDERER_GENERAL_TLS_PRIVATEKEY/var/hyperledger/orderer/tls/server.key- ORDERER_GENERAL_TLS_CERTIFICATE/var/hyperledger/orderer/tls/server.crt- ORDERER_GENERAL_TLS_ROOTCAS[/var/hyperledger/orderer/tls/ca.crt]- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR1- ORDERER_KAFKA_VERBOSEtrue- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE/var/hyperledger/orderer/tls/server.crt- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY/var/hyperledger/orderer/tls/server.key- ORDERER_GENERAL_CLUSTER_ROOTCAS[/var/hyperledger/orderer/tls/ca.crt]working_dir: /opt/gopath/src/github.com/hyperledger/fabriccommand: orderervolumes:- ../system-genesis-block/genesis.block:/var/hyperledger/orderer/orderer.genesis.block- ../organizations/ordererOrganizations/finance.com/orderers/orderer.finance.com/msp:/var/hyperledger/orderer/msp- ../organizations/ordererOrganizations/finance.com/orderers/orderer.finance.com/tls/:/var/hyperledger/orderer/tls- orderer.finance.com:/var/hyperledger/production/ordererports:- 7050:7050- 9443:9443networks:- testpeer0.org1.finance.com:container_name: peer0.org1.finance.comimage: hyperledger/fabric-peer:latestenvironment:#Generic peer variables- CORE_VM_ENDPOINTunix:///host/var/run/docker.sock- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODEfabric_finance- FABRIC_LOGGING_SPECINFO#- FABRIC_LOGGING_SPECDEBUG- CORE_PEER_TLS_ENABLEDtrue- CORE_PEER_PROFILE_ENABLEDtrue- CORE_PEER_TLS_CERT_FILE/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE/etc/hyperledger/fabric/tls/ca.crt# Peer specific variabes- CORE_PEER_IDpeer0.org1.finance.com- CORE_PEER_ADDRESSpeer0.org1.finance.com:7051- CORE_PEER_LISTENADDRESS0.0.0.0:7051- CORE_PEER_CHAINCODEADDRESSpeer0.org1.finance.com:7052- CORE_PEER_CHAINCODELISTENADDRESS0.0.0.0:7052- CORE_PEER_GOSSIP_BOOTSTRAPpeer0.org1.finance.com:7051- CORE_PEER_GOSSIP_EXTERNALENDPOINTpeer0.org1.finance.com:7051- CORE_PEER_LOCALMSPIDOrg1MSP- CORE_OPERATIONS_LISTENADDRESSpeer0.org1.finance.com:9444volumes:- /var/run/docker.sock:/host/var/run/docker.sock- ../organizations/peerOrganizations/org1.finance.com/peers/peer0.org1.finance.com/msp:/etc/hyperledger/fabric/msp- ../organizations/peerOrganizations/org1.finance.com/peers/peer0.org1.finance.com/tls:/etc/hyperledger/fabric/tls- peer0.org1.finance.com:/var/hyperledger/productionworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: peer node startports:- 7051:7051- 9444:9444networks:- testpeer1.org1.finance.com:container_name: peer1.org1.finance.comimage: hyperledger/fabric-peer:latestenvironment:#Generic peer variables- CORE_VM_ENDPOINTunix:///host/var/run/docker.sock- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODEfabric_finance- FABRIC_LOGGING_SPECINFO#- FABRIC_LOGGING_SPECDEBUG- CORE_PEER_TLS_ENABLEDtrue- CORE_PEER_PROFILE_ENABLEDtrue- CORE_PEER_TLS_CERT_FILE/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE/etc/hyperledger/fabric/tls/ca.crt# Peer specific variabes- CORE_PEER_IDpeer1.org1.finance.com- CORE_PEER_ADDRESSpeer1.org1.finance.com:8051- CORE_PEER_LISTENADDRESS0.0.0.0:8051- CORE_PEER_CHAINCODEADDRESSpeer1.org1.finance.com:8052- CORE_PEER_CHAINCODELISTENADDRESS0.0.0.0:8052- CORE_PEER_GOSSIP_BOOTSTRAPpeer1.org1.finance.com:8051- CORE_PEER_GOSSIP_EXTERNALENDPOINTpeer1.org1.finance.com:8051- CORE_PEER_LOCALMSPIDOrg1MSP- CORE_OPERATIONS_LISTENADDRESSpeer1.org1.finance.com:9446volumes:- /var/run/docker.sock:/host/var/run/docker.sock- ../organizations/peerOrganizations/org1.finance.com/peers/peer1.org1.finance.com/msp:/etc/hyperledger/fabric/msp- ../organizations/peerOrganizations/org1.finance.com/peers/peer1.org1.finance.com/tls:/etc/hyperledger/fabric/tls- peer1.org1.finance.com:/var/hyperledger/productionworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: peer node startports:- 8051:8051- 9446:9446networks:- testpeer0.org2.finance.com:container_name: peer0.org2.finance.comimage: hyperledger/fabric-peer:latestenvironment:#Generic peer variables- CORE_VM_ENDPOINTunix:///host/var/run/docker.sock- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODEfabric_test- FABRIC_LOGGING_SPECINFO#- FABRIC_LOGGING_SPECDEBUG- CORE_PEER_TLS_ENABLEDtrue- CORE_PEER_PROFILE_ENABLEDtrue- CORE_PEER_TLS_CERT_FILE/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE/etc/hyperledger/fabric/tls/ca.crt# Peer specific variabes- CORE_PEER_IDpeer0.org2.finance.com- CORE_PEER_ADDRESSpeer0.org2.finance.com:9051- CORE_PEER_LISTENADDRESS0.0.0.0:9051- CORE_PEER_CHAINCODEADDRESSpeer0.org2.finance.com:9052- CORE_PEER_CHAINCODELISTENADDRESS0.0.0.0:9052- CORE_PEER_GOSSIP_EXTERNALENDPOINTpeer0.org2.finance.com:9051- CORE_PEER_GOSSIP_BOOTSTRAPpeer0.org2.finance.com:9051- CORE_PEER_LOCALMSPIDOrg2MSP- CORE_OPERATIONS_LISTENADDRESSpeer0.org2.finance.com:9445volumes:- /var/run/docker.sock:/host/var/run/docker.sock- ../organizations/peerOrganizations/org2.finance.com/peers/peer0.org2.finance.com/msp:/etc/hyperledger/fabric/msp- ../organizations/peerOrganizations/org2.finance.com/peers/peer0.org2.finance.com/tls:/etc/hyperledger/fabric/tls- peer0.org2.finance.com:/var/hyperledger/productionworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: peer node startports:- 9051:9051- 9445:9445networks:- testcli:container_name: cliimage: hyperledger/fabric-tools:latesttty: truestdin_open: trueenvironment:- GOPATH/opt/gopath- CORE_VM_ENDPOINTunix:///host/var/run/docker.sock- FABRIC_LOGGING_SPECINFO#- FABRIC_LOGGING_SPECDEBUGworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: /bin/bashvolumes:- /var/run/:/host/var/run/- ../organizations:/opt/gopath/src/github.com/hyperledger/fabric/peer/organizations- ../scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/depends_on:- peer0.org1.finance.com- peer1.org1.finance.com- peer0.org2.finance.comnetworks:- test然后启动容器具体命令如下 #在finance_network目录下执行 sudo DOCKER_SOCK/var/run/docker.sock docker-compose -f compose/compose-withsystem.yaml up -d创建应用通道及配置锚节点 接下来使用如下命令创建应用通道并配置各个组织的锚节点。 #创建应用通道 configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel #设置组织Org1的锚节点 configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP #设置组织Org2的锚节点 configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP接下来的peer节点加入通道及部署链码等的操作将使用Fabric-sdk-go来实现具体参考博客https://blog.csdn.net/yeshang_lady/article/details/134921528。 Tips:在使用Fabric-SDK-GO进行后续操作的时候要对docker容器进行重启(注意只需要重启docker容器)。因为Fabric-SDK-GO会依据我们生成的文件(channel.tx、Org1MSPanchors.tx、Org2MSPanchors.tx)重新进行创建应用通道及配置锚节点等操作。如果不重启则会提示如下错误 create channel failed: create channel failed: SendEnvelope failed: calling orderer orderer.finance.com:7050 failed: Orderer Server Status Code: (400) BAD_REQUEST. Description: error applying config update to existing channel mychannel: error authorizing update: error validating ReadSet: proposed update requires that key [Group] /Channel/Application be at version 0, but it is currently at version 1
http://www.zqtcl.cn/news/894310/

相关文章:

  • 怎样做模板网站手机营销型网站制作
  • 如何采集网站内容如何做网站导航栏的搜索引擎优化
  • 网站关键词排名外包织梦大气婚纱影楼网站源码
  • 网站建设执行力冠县哪里有做网站的
  • 免费网站推广咱们做网络营销推广的应用场景
  • 深圳正规网站制作哪家公司好做网站代理属于开设赌场罪吗
  • 江西宜春市建设局网站wordpress博客下载器
  • 汕头站扩建效果图微信怎么引流营销呢
  • 小学学校网站建设计划wordpress博客示例
  • 德邦公司网站建设特点万网是什么
  • 天津武清网站开发广东省建筑网站
  • 青岛做外贸网站哪家好佛山网站建设哪家好
  • 网站关键词设置技巧wordpress 获得参数
  • 程序网站开发搜索引擎有哪些技巧
  • 网站模板上传教程响应式网站建设免费
  • 网站建设与设计ppt模板wordpress调用大全
  • wordpress信息修改佛山网站优化如何
  • 最权威的排行榜网站招网站开发人员
  • 北京通州住房和城乡建设部网站网站获取访客手机号源码
  • 网站开发与建设网站程序基础
  • 网站建设属于什么税php网站建设全程实例
  • 做网站语言排名2018淄博市沂源县建设局网站
  • 腾冲网站建设哪个电商平台最好
  • 重点实验室网站建设宁波seo优化服务
  • 怎么用手机做刷会员网站网页设计指什么
  • 小企业网站建设多少钱网页设计图片剧中
  • 新乐做网站优化如何做二级域名子目录网站
  • 如何在网站上做推广中国在数码网站注册域名好 gt
  • 电子商务电商网站饿建设管理网站建设
  • php网站出现乱码网站建设项目总结