Swa*_*lam 5 hyperledger hyperledger-fabric
我正在尝试使用超级分类帐结构制作两个频道。在一个频道中将有两个组织,而在另一个频道中将有另外两个组织。在每个组织中,都会有两个对等点。因此,共有 4 个组织中的 8 个同行,有两个渠道。到目前为止,我已经完成了这些:
crypto-config.yaml
文件中,我声明了一个订购者和四个组织。在每个组织中,我都声明了模板数量:2 和用户数量:1(谁能解释一下模板数量的含义?是对等节点总数吗?)cryptogen generate --config=./crypto-config.yaml
命令生成密钥和证书。configtx.yaml
文件中,我用他们的组织名称声明了两个频道:简介:
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
Run Code Online (Sandbox Code Playgroud)
组织:
- &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
Run Code Online (Sandbox Code Playgroud)
订购者:&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:
Run Code Online (Sandbox Code Playgroud)
应用程序:&ApplicationDefaults
Organizations:
Run Code Online (Sandbox Code Playgroud)
然后我使用这个命令创建了创世块
configtxgen -profile FourOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
可能,我需要制作两个创世块,因为有两个通道。在那种情况下,命令是什么而不是上面的命令?
我使用以下命令进行通道交易和锚定对等交易。
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
Run Code Online (Sandbox Code Playgroud)最后用这个命令补上:
CHANNEL_NAME=mychannel1 docker-compose -f docker-compose-cli.yaml up –d
每当我尝试运行时:
CHANNEL_NAME=mychannel2 docker-compose -f docker-compose-cli.yaml up –d
Run Code Online (Sandbox Code Playgroud)
它是说已经有同行在运行。
所以我的问题是:
如何为不同的组织创建多个渠道?我没有得到任何详细的例子。
我认为你需要一个创世块来引导排序者。剩下的你需要多个通道配置交易文件。(.tx)。您可以使用这些通道文件通过 SDK 创建并加入通道(请参阅https://fabric-sdk-node.github.io/tutorial-channel-create.html或https://github.com/hyperledger/ Fabric-samples/tree/release/balance-transfer/app)或使用 Fabric-cli 的对等命令(我找不到文档,但您可以尝试以下部分: https: //github.com/hyperledger/fabric-样本/blob/release/first-network/scripts/script.sh#L61,https://github.com/hyperledger/fabric-samples/blob/release/first-network/scripts/script.sh#L92)
两个通道之间可以通信吗?
一言以蔽之。但您可以通过跨链代码调用来完成此操作。
是的,它可以做到这一点。您可以参考http://hyperledger-fabric.readthedocs.io/en/release/channels.html。通道间数据传输不可能直接进行。但是,您可以从另一个链代码(在通道 B 上工作)调用一个链代码(在通道 A 上工作),前提是您有权在两个通道上调用链代码。
归档时间: |
|
查看次数: |
3779 次 |
最近记录: |