Configurar vários canais no Hyperledger Fabric
Estou tentando fazer dois canais com tecido hiper ledger. Em um canal, haverá duas organizações e em outro canal, haverá outras duas organizações. Em toda organização, haverá dois pares. Portanto, totalize 8 pares em 4 organizações com dois canais. Até agora eu fiz isso:
Nocrypto-config.yaml
Eu declarei um ordenador e quatro organizações. Em todas as organizações, declarei a contagem de modelos: 2 e os usuários contam: 1 (alguém pode explicar o significado da contagem de modelos? É um número total de pares?)Então usadocryptogen generate --config=./crypto-config.yaml
comando para gerar chaves e certificados.Noconfigtx.yaml
, declarei dois canais com o nome da organização:Perfis:
FourOrgsOrdererGenesis:
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
SampleConsortium:
Organizations:
- *Org1
- *Org2
- *Org3
- *Org4
TwoOrgsChannel1:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
- *Org2
TwoOrgsChannel2:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org3
- *Org4
Organizações:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: crypto-config/ordererOrganizations/acme.com/msp
- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: crypto-config/peerOrganizations/org1.acme.com/msp
AnchorPeers:
- Host: peer0.org1.acme.com
Port: 7051
- &Org2
Name: Org2MSP
ID: Org2MSP
MSPDir: crypto-config/peerOrganizations/org2.acme.com/msp
AnchorPeers:
- Host: peer0.org2.acme.com
Port: 7051
- &Org3
Name: Org3MSP
ID: Org3MSP
MSPDir: crypto-config/peerOrganizations/org3.acme.com/msp
AnchorPeers:
- Host: peer0.org3.acme.com
Port: 7051
- &Org4
Name: Org4MSP
ID: Org4MSP
MSPDir: crypto-config/peerOrganizations/org4.acme.com/msp
AnchorPeers:
- Host: peer0.org4.acme.com
Port: 7051
Orderer: & OrdererDefaults
OrdererType: solo
Addresses:
- orderer.acme.com:7050
BatchTimeout: 2s
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Kafka:
Brokers:
- 127.0.0.1:9092
Organizations:
Aplicação: & ApplicationDefaults
Organizations:
Então eu criei o bloco genesis usando este comando
configtxgen -profile FourOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
Provavelmente, preciso fazer dois blocos de gênese, pois existem dois canais. Nesse caso, qual será o comando em vez de acima de um?
Eu usei os seguintes comandos para fazer a transação do canal e ancorar a transação peer.
configtxgen -profile TwoOrgsChannel1 -outputCreateChannelTx ./channel-artifacts/channel1.tx -channelID mychannel1
configtxgen -profile TwoOrgsChannel2 -outputCreateChannelTx ./channel-artifacts/channel2.tx -channelID mychannel2
configtxgen -profile TwoOrgsChannel1-outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel1 -asOrg Org1MSP
configtxgen -profile TwoOrgsChannel1 -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel1 -asOrg Org2MSP
configtxgen -profile TwoOrgsChannel2-outputAnchorPeersUpdate ./channel-artifacts/Org3MSPanchors.tx -channelID mychannel2 -asOrg Org3MSP
configtxgen -profile TwoOrgsChannel2-outputAnchorPeersUpdate ./channel-artifacts/Org4MSPanchors.tx -channelID mychannel2 -asOrg Org4MSP
Finalmente usei este comando para fazer as pazes:
CHANNEL_NAME=mychannel1 docker-compose -f docker-compose-cli.yaml up –d
Sempre que estou tentando executar:
CHANNEL_NAME=mychannel2 docker-compose -f docker-compose-cli.yaml up –d
Está dizendo que os colegas já estão correndo.
Então, minhas perguntas são:
Como posso criar vários canais para diferentes organizações? Não recebi nenhum exemplo elaborado.É possível se comunicar entre dois canais?E se o peer0 estiver inscrito nos dois canais? Será capaz de comunicar os dois canais e transferir dados nos dois canais?