无法连接 AWS 上不同计算机上的排序节点和对等节点



我正在尝试构建一个具有单个排序器和 3 个组织的网络,每个组织在具有 Hyperledger Fabric 版本 2 的 AWS 上都有一个对等节点。我可以使用 configtxgen 通过以下命令成功生成用于排序器和通道配置事务的创世区块:

configtxgen -profile ThreeOrgsOrdererGenesis -channelID ordererchannel -outputBlock ./config/genesis.block

configtxgen -profile ChannelAll -outputCreateChannelTx ./config/channel.tx -channelID channelall

这是我的configtx.yaml文件:(这里的策略不是一个好的做法,只是实验(

---
Organizations:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: ./crypto-config/ordererOrganizations/example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Writers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Admins:
Type: Signature
Rule: "OR('OrdererMSP.member')"
- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: ./crypto-config/peerOrganizations/org1.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org1MSP.member')"
Writers:
Type: Signature
Rule: "OR('Org1MSP.member')"
Admins:
Type: Signature
Rule: "OR('Org1MSP.member')"
Endorsement:
Type: Signature
Rule: "OR('Org1MSP.member')"
- &Org2
Name: Org2MSP
ID: Org2MSP
MSPDir: ./crypto-config/peerOrganizations/org2.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org2MSP.member')"
Writers:
Type: Signature
Rule: "OR('Org2MSP.member')"
Admins:
Type: Signature
Rule: "OR('Org2MSP.member')"
Endorsement:
Type: Signature
Rule: "OR('Org2MSP.member')"
- &Org3
Name: Org3MSP
ID: Org3MSP
MSPDir: ./crypto-config/peerOrganizations/org3.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org3MSP.member')"
Writers:
Type: Signature
Rule: "OR('Org3MSP.member')"
Admins:
Type: Signature
Rule: "OR('Org3MSP.member')"
Endorsement:
Type: Signature
Rule: "OR('Org3MSP.member')"
Capabilities:
Channel: &ChannelCapabilities
V1_3: true
Orderer: &OrdererCapabilities
V1_1: true
Application: &ApplicationCapabilities
V2_0: true
V1_3: false
V1_2: false
V1_1: false
Application: &ApplicationDefaults
Organizations:
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
LifecycleEndorsement:
Type: ImplicitMeta
Rule: "MAJORITY Endorsement"
Endorsement:
Type: ImplicitMeta
Rule: "MAJORITY Endorsement"
Capabilities:
<<: *ApplicationCapabilities
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.example.com:7050
BatchTimeout: 2s
BatchSize:
MaxMessageCount: 300
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Kafka:
Brokers:
- 127.0.0.1:9092
Organizations:
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
BlockValidation:
Type: ImplicitMeta
Rule: "ANY Writers"
Channel: &ChannelDefaults
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Capabilities:
<<: *ChannelCapabilities
Profiles:
ThreeOrgsOrdererGenesis:
<<: *ChannelDefaults
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Capabilities:
<<: *OrdererCapabilities
Consortiums:
SampleConsortium:
Organizations:
- *Org1
- *Org2
- *Org3
ChannelAll:
Consortium: SampleConsortium
<<: *ChannelDefaults
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
- *Org2
- *Org3
Capabilities:
<<: *ApplicationCapabilities

当我peer1加入我创建的通道时,我在排序程序的 docker 日志中收到以下警告:

Handle -> WARN 008 Error reading from 172.31.19.174:35362: rpc error: code = Canceled desc = context canceled

起初,我只是忽略了这个警告,并将其他节点加入了通道。但是,我无法使用使用Fabric Node SDK的客户端程序连接到区块链,因此我认为这是问题的根本原因。

我注意到你使用

configtxgen -profile OneOrgOrdererGenesis

而在您的个人资料部分中configtx.yamlThreeOrgsOrdererGenesis.

也许您应该尝试使用以下命令生成加密文件:

configtxgen -profile ThreeOrgsOrdererGenesis -channelID ordererchannel -outputBlock ./config/genesis.block

configtxgen -profile ChannelAll -outputCreateChannelTx ./config/channel.tx -channelID channelall

最新更新